summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2021-10-06 18:18:56 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2021-10-06 18:18:56 +0200
commita339309f875b7240e2006d47992e0b50b643d86c (patch)
tree3b04252012d12cb3a35c29729ee609668fef1b70
parent3d790d94ced7efa449659532cd178f7c37080e68 (diff)
parent6694d05e5fc1a4a41107a172a53f7d9b6373cadf (diff)
downloadkernel-a339309f875b7240e2006d47992e0b50b643d86c.tar.gz
kernel-a339309f875b7240e2006d47992e0b50b643d86c.tar.xz
kernel-a339309f875b7240e2006d47992e0b50b643d86c.zip
-rw-r--r--Makefile.rhelver2
-rw-r--r--Patchlist.changelog6
-rw-r--r--kernel-aarch64-debug-fedora.config14
-rw-r--r--kernel-aarch64-debug-rhel.config32
-rw-r--r--kernel-aarch64-fedora.config14
-rw-r--r--kernel-aarch64-rhel.config32
-rw-r--r--kernel-armv7hl-debug-fedora.config14
-rw-r--r--kernel-armv7hl-fedora.config14
-rw-r--r--kernel-armv7hl-lpae-debug-fedora.config14
-rw-r--r--kernel-armv7hl-lpae-fedora.config14
-rw-r--r--kernel-i686-debug-fedora.config2
-rw-r--r--kernel-i686-fedora.config2
-rw-r--r--kernel-ppc64le-debug-fedora.config14
-rw-r--r--kernel-ppc64le-debug-rhel.config32
-rw-r--r--kernel-ppc64le-fedora.config14
-rw-r--r--kernel-ppc64le-rhel.config32
-rw-r--r--kernel-s390x-debug-fedora.config14
-rw-r--r--kernel-s390x-debug-rhel.config32
-rw-r--r--kernel-s390x-fedora.config14
-rw-r--r--kernel-s390x-rhel.config32
-rw-r--r--kernel-s390x-zfcpdump-rhel.config32
-rw-r--r--kernel-x86_64-debug-fedora.config2
-rw-r--r--kernel-x86_64-debug-rhel.config21
-rw-r--r--kernel-x86_64-fedora.config2
-rw-r--r--kernel-x86_64-rhel.config21
-rwxr-xr-xkernel.spec31
-rw-r--r--patch-5.15-redhat.patch1504
-rw-r--r--sources6
28 files changed, 381 insertions, 1582 deletions
diff --git a/Makefile.rhelver b/Makefile.rhelver
index 4866906ef..5741dcd4c 100644
--- a/Makefile.rhelver
+++ b/Makefile.rhelver
@@ -12,7 +12,7 @@ RHEL_MINOR = 99
#
# Use this spot to avoid future merge conflicts.
# Do not trim this comment.
-RHEL_RELEASE = 30
+RHEL_RELEASE = 34
#
# Early y+1 numbering
diff --git a/Patchlist.changelog b/Patchlist.changelog
index e1241084e..d0e6cd2e3 100644
--- a/Patchlist.changelog
+++ b/Patchlist.changelog
@@ -1,3 +1,9 @@
+https://gitlab.com/cki-project/kernel-ark/-/commit/d54c534eb54e581cb7327e36ca1a43f1ec5c94e5
+ d54c534eb54e581cb7327e36ca1a43f1ec5c94e5 Testing upstream bpf selftests
+
+https://gitlab.com/cki-project/kernel-ark/-/commit/1739846090d60287d56220b3a984603158668acb
+ 1739846090d60287d56220b3a984603158668acb redhat: Add mark_driver_deprecated()
+
https://gitlab.com/cki-project/kernel-ark/-/commit/db5256d639278a4a5980c15cffcb538b057e6849
db5256d639278a4a5980c15cffcb538b057e6849 arm64: use common CONFIG_MAX_ZONEORDER for arm kernel
diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config
index f9c46c8be..5e6feda90 100644
--- a/kernel-aarch64-debug-fedora.config
+++ b/kernel-aarch64-debug-fedora.config
@@ -1731,6 +1731,7 @@ CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
# CONFIG_DRM_HISI_HIBMC is not set
CONFIG_DRM_HISI_KIRIN=m
+CONFIG_DRM_HYPERV=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511_CEC=y
CONFIG_DRM_I2C_ADV7511=m
@@ -2154,6 +2155,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -2519,6 +2521,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2667,8 +2670,15 @@ CONFIG_HWSPINLOCK_QCOM=m
CONFIG_HWSPINLOCK_SUN6I=m
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -5106,6 +5116,7 @@ CONFIG_PCI_HISI=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_HOST_THUNDER_ECAM=y
CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_IXP4XX is not set
@@ -7585,7 +7596,6 @@ CONFIG_THERMAL_OF=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
CONFIG_THUNDER_NIC_BGX=m
CONFIG_THUNDER_NIC_PF=m
diff --git a/kernel-aarch64-debug-rhel.config b/kernel-aarch64-debug-rhel.config
index de3a388bd..351fe766b 100644
--- a/kernel-aarch64-debug-rhel.config
+++ b/kernel-aarch64-debug-rhel.config
@@ -598,8 +598,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BROADCOM_PHY=m
CONFIG_BSD_DISKLABEL=y
@@ -1340,6 +1340,7 @@ CONFIG_DRM_GUD=m
# CONFIG_DRM_HDLCD is not set
CONFIG_DRM_HISI_HIBMC=m
# CONFIG_DRM_HISI_KIRIN is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_I2C_CH7006=m
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
@@ -1681,6 +1682,7 @@ CONFIG_FAULT_INJECTION=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_HGA is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -1980,6 +1982,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2119,8 +2122,15 @@ CONFIG_HW_RANDOM=y
# CONFIG_HWSPINLOCK_QCOM is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -2480,7 +2490,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2519,9 +2529,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2559,8 +2569,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3561,7 +3571,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3785,6 +3795,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3869,7 +3880,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -4156,6 +4167,7 @@ CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_HOST_THUNDER_ECAM=y
CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
# CONFIG_PCI_MESON is not set
@@ -6154,7 +6166,6 @@ CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDER_NIC_BGX=m
CONFIG_THUNDER_NIC_PF=m
@@ -6339,6 +6350,7 @@ CONFIG_UHID=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_HV_GENERIC=m
CONFIG_UIO=m
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config
index b02c06a67..1916ca56d 100644
--- a/kernel-aarch64-fedora.config
+++ b/kernel-aarch64-fedora.config
@@ -1723,6 +1723,7 @@ CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
# CONFIG_DRM_HISI_HIBMC is not set
CONFIG_DRM_HISI_KIRIN=m
+CONFIG_DRM_HYPERV=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511_CEC=y
CONFIG_DRM_I2C_ADV7511=m
@@ -2138,6 +2139,7 @@ CONFIG_FAT_FS=m
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -2503,6 +2505,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2651,8 +2654,15 @@ CONFIG_HWSPINLOCK_QCOM=m
CONFIG_HWSPINLOCK_SUN6I=m
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -5083,6 +5093,7 @@ CONFIG_PCI_HISI=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_HOST_THUNDER_ECAM=y
CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_IXP4XX is not set
@@ -7560,7 +7571,6 @@ CONFIG_THERMAL_OF=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
CONFIG_THUNDER_NIC_BGX=m
CONFIG_THUNDER_NIC_PF=m
diff --git a/kernel-aarch64-rhel.config b/kernel-aarch64-rhel.config
index a177c7198..e381e25bd 100644
--- a/kernel-aarch64-rhel.config
+++ b/kernel-aarch64-rhel.config
@@ -598,8 +598,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BROADCOM_PHY=m
CONFIG_BSD_DISKLABEL=y
@@ -1332,6 +1332,7 @@ CONFIG_DRM_GUD=m
# CONFIG_DRM_HDLCD is not set
CONFIG_DRM_HISI_HIBMC=m
# CONFIG_DRM_HISI_KIRIN is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_I2C_CH7006=m
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
@@ -1665,6 +1666,7 @@ CONFIG_FAT_FS=m
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_HGA is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -1964,6 +1966,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2103,8 +2106,15 @@ CONFIG_HW_RANDOM=y
# CONFIG_HWSPINLOCK_QCOM is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -2464,7 +2474,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2503,9 +2513,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2543,8 +2553,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3541,7 +3551,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3765,6 +3775,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3849,7 +3860,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -4135,6 +4146,7 @@ CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_HOST_THUNDER_ECAM=y
CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
# CONFIG_PCI_MESON is not set
@@ -6131,7 +6143,6 @@ CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDER_NIC_BGX=m
CONFIG_THUNDER_NIC_PF=m
@@ -6316,6 +6327,7 @@ CONFIG_UHID=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_HV_GENERIC=m
CONFIG_UIO=m
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
diff --git a/kernel-armv7hl-debug-fedora.config b/kernel-armv7hl-debug-fedora.config
index 40b8357e5..114ac4e30 100644
--- a/kernel-armv7hl-debug-fedora.config
+++ b/kernel-armv7hl-debug-fedora.config
@@ -1747,6 +1747,7 @@ CONFIG_DRM_GUD=m
CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
# CONFIG_DRM_HISI_HIBMC is not set
+CONFIG_DRM_HYPERV=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511_CEC=y
CONFIG_DRM_I2C_ADV7511=m
@@ -2195,6 +2196,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -2542,6 +2544,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2690,8 +2693,15 @@ CONFIG_HWSPINLOCK_QCOM=m
CONFIG_HWSPINLOCK_SUN6I=m
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -5200,6 +5210,7 @@ CONFIG_PCIE_XILINX=y
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_HERMES=m
CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_IXP4XX is not set
@@ -7788,7 +7799,6 @@ CONFIG_THERMAL_OF=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_TI_ADC081C=m
diff --git a/kernel-armv7hl-fedora.config b/kernel-armv7hl-fedora.config
index 5dc33f40c..795bace29 100644
--- a/kernel-armv7hl-fedora.config
+++ b/kernel-armv7hl-fedora.config
@@ -1740,6 +1740,7 @@ CONFIG_DRM_GUD=m
CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
# CONFIG_DRM_HISI_HIBMC is not set
+CONFIG_DRM_HYPERV=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511_CEC=y
CONFIG_DRM_I2C_ADV7511=m
@@ -2180,6 +2181,7 @@ CONFIG_FAT_FS=m
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -2527,6 +2529,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2675,8 +2678,15 @@ CONFIG_HWSPINLOCK_QCOM=m
CONFIG_HWSPINLOCK_SUN6I=m
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -5178,6 +5188,7 @@ CONFIG_PCIE_XILINX=y
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_HERMES=m
CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_IXP4XX is not set
@@ -7764,7 +7775,6 @@ CONFIG_THERMAL_OF=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_TI_ADC081C=m
diff --git a/kernel-armv7hl-lpae-debug-fedora.config b/kernel-armv7hl-lpae-debug-fedora.config
index 864781db2..8c59f5aa2 100644
--- a/kernel-armv7hl-lpae-debug-fedora.config
+++ b/kernel-armv7hl-lpae-debug-fedora.config
@@ -1715,6 +1715,7 @@ CONFIG_DRM_GUD=m
CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
# CONFIG_DRM_HISI_HIBMC is not set
+CONFIG_DRM_HYPERV=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511_CEC=y
CONFIG_DRM_I2C_ADV7511=m
@@ -2147,6 +2148,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -2488,6 +2490,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2634,8 +2637,15 @@ CONFIG_HWSPINLOCK_OMAP=m
CONFIG_HWSPINLOCK_SUN6I=m
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -5085,6 +5095,7 @@ CONFIG_PCIE_XILINX_CPM=y
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_HERMES=m
CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_IXP4XX is not set
@@ -7547,7 +7558,6 @@ CONFIG_THERMAL_OF=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_TI_ADC081C=m
diff --git a/kernel-armv7hl-lpae-fedora.config b/kernel-armv7hl-lpae-fedora.config
index 95b9f2d03..a14f01027 100644
--- a/kernel-armv7hl-lpae-fedora.config
+++ b/kernel-armv7hl-lpae-fedora.config
@@ -1708,6 +1708,7 @@ CONFIG_DRM_GUD=m
CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
# CONFIG_DRM_HISI_HIBMC is not set
+CONFIG_DRM_HYPERV=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511_CEC=y
CONFIG_DRM_I2C_ADV7511=m
@@ -2132,6 +2133,7 @@ CONFIG_FAT_FS=m
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -2473,6 +2475,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2619,8 +2622,15 @@ CONFIG_HWSPINLOCK_OMAP=m
CONFIG_HWSPINLOCK_SUN6I=m
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -5063,6 +5073,7 @@ CONFIG_PCIE_XILINX_CPM=y
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_HERMES=m
CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_IXP4XX is not set
@@ -7523,7 +7534,6 @@ CONFIG_THERMAL_OF=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
CONFIG_TI_ADC081C=m
diff --git a/kernel-i686-debug-fedora.config b/kernel-i686-debug-fedora.config
index 802a3511e..39c7bd2a1 100644
--- a/kernel-i686-debug-fedora.config
+++ b/kernel-i686-debug-fedora.config
@@ -2330,9 +2330,9 @@ CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERV_IOMMU=y
-# CONFIG_HYPERV is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_TESTING=y
diff --git a/kernel-i686-fedora.config b/kernel-i686-fedora.config
index 3192b61c3..7803be46b 100644
--- a/kernel-i686-fedora.config
+++ b/kernel-i686-fedora.config
@@ -2313,9 +2313,9 @@ CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERV_IOMMU=y
-# CONFIG_HYPERV is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
diff --git a/kernel-ppc64le-debug-fedora.config b/kernel-ppc64le-debug-fedora.config
index 3847ed919..cd1e8486d 100644
--- a/kernel-ppc64le-debug-fedora.config
+++ b/kernel-ppc64le-debug-fedora.config
@@ -1348,6 +1348,7 @@ CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_GM12U320=m
CONFIG_DRM_GUD=m
# CONFIG_DRM_HISI_HIBMC is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
@@ -1711,6 +1712,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
@@ -2034,6 +2036,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2175,8 +2178,15 @@ CONFIG_HW_RANDOM_XIPHERA=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -4382,6 +4392,7 @@ CONFIG_PCIE_XILINX_CPM=y
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_HERMES=m
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IOV=y
CONFIG_PCI_J721E_HOST=y
# CONFIG_PCI_MESON is not set
@@ -6500,7 +6511,6 @@ CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
diff --git a/kernel-ppc64le-debug-rhel.config b/kernel-ppc64le-debug-rhel.config
index dd6fd72a0..0baec6799 100644
--- a/kernel-ppc64le-debug-rhel.config
+++ b/kernel-ppc64le-debug-rhel.config
@@ -480,8 +480,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BROADCOM_PHY=m
CONFIG_BSD_DISKLABEL=y
@@ -1192,6 +1192,7 @@ CONFIG_DRM_GUD=m
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_HISI_KIRIN is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_I2C_CH7006=m
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
@@ -1519,6 +1520,7 @@ CONFIG_FAULT_INJECTION=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_HGA is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
@@ -1813,6 +1815,7 @@ CONFIG_HID_GREENASIA=m
# CONFIG_HID_GT683R is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -1950,8 +1953,15 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -2305,7 +2315,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2345,9 +2355,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2385,8 +2395,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3377,7 +3387,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3598,6 +3608,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3678,7 +3689,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -3951,6 +3962,7 @@ CONFIG_PCIEPORTBUS=y
# CONFIG_PCIE_XILINX is not set
# CONFIG_PCI_FTPCI100 is not set
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
# CONFIG_PCI_MESON is not set
@@ -5914,7 +5926,6 @@ CONFIG_THERMAL_OF=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDERX2_PMU=m
# CONFIG_TI_ADC081C is not set
@@ -6096,6 +6107,7 @@ CONFIG_UHID=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_HV_GENERIC=m
CONFIG_UIO=m
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
diff --git a/kernel-ppc64le-fedora.config b/kernel-ppc64le-fedora.config
index e739910cb..797937318 100644
--- a/kernel-ppc64le-fedora.config
+++ b/kernel-ppc64le-fedora.config
@@ -1339,6 +1339,7 @@ CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_GM12U320=m
CONFIG_DRM_GUD=m
# CONFIG_DRM_HISI_HIBMC is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
@@ -1694,6 +1695,7 @@ CONFIG_FAT_FS=m
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
@@ -2017,6 +2019,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -2158,8 +2161,15 @@ CONFIG_HW_RANDOM_XIPHERA=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -4359,6 +4369,7 @@ CONFIG_PCIE_XILINX_CPM=y
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_HERMES=m
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IOV=y
CONFIG_PCI_J721E_HOST=y
# CONFIG_PCI_MESON is not set
@@ -6475,7 +6486,6 @@ CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
diff --git a/kernel-ppc64le-rhel.config b/kernel-ppc64le-rhel.config
index e88d06b9c..b4649c652 100644
--- a/kernel-ppc64le-rhel.config
+++ b/kernel-ppc64le-rhel.config
@@ -480,8 +480,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BROADCOM_PHY=m
CONFIG_BSD_DISKLABEL=y
@@ -1184,6 +1184,7 @@ CONFIG_DRM_GUD=m
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_HISI_KIRIN is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_I2C_CH7006=m
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
@@ -1503,6 +1504,7 @@ CONFIG_FAT_FS=m
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_HGA is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
@@ -1797,6 +1799,7 @@ CONFIG_HID_GREENASIA=m
# CONFIG_HID_GT683R is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
@@ -1934,8 +1937,15 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -2289,7 +2299,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2329,9 +2339,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2369,8 +2379,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3360,7 +3370,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3581,6 +3591,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3661,7 +3672,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -3934,6 +3945,7 @@ CONFIG_PCIEPORTBUS=y
# CONFIG_PCIE_XILINX is not set
# CONFIG_PCI_FTPCI100 is not set
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
# CONFIG_PCI_MESON is not set
@@ -5895,7 +5907,6 @@ CONFIG_THERMAL_OF=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
-# CONFIG_THINKPAD_LMI is not set
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDERX2_PMU=m
# CONFIG_TI_ADC081C is not set
@@ -6077,6 +6088,7 @@ CONFIG_UHID=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_HV_GENERIC=m
CONFIG_UIO=m
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
diff --git a/kernel-s390x-debug-fedora.config b/kernel-s390x-debug-fedora.config
index 50830dac9..8d029f767 100644
--- a/kernel-s390x-debug-fedora.config
+++ b/kernel-s390x-debug-fedora.config
@@ -1357,6 +1357,7 @@ CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_GM12U320=m
CONFIG_DRM_GUD=m
# CONFIG_DRM_HISI_HIBMC is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_I2C_ADV7533=y
# CONFIG_DRM_I2C_CH7006 is not set
@@ -1721,6 +1722,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -2029,6 +2031,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
# CONFIG_HID is not set
CONFIG_HID_ITE=m
@@ -2161,8 +2164,15 @@ CONFIG_HW_RANDOM_XIPHERA=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -4355,6 +4365,7 @@ CONFIG_PCIE_XILINX_CPM=y
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_HERMES=m
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IOV=y
CONFIG_PCI_J721E_HOST=y
# CONFIG_PCI_MESON is not set
@@ -6448,7 +6459,6 @@ CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_OF is not set
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
diff --git a/kernel-s390x-debug-rhel.config b/kernel-s390x-debug-rhel.config
index 32493e3bd..53a28ff53 100644
--- a/kernel-s390x-debug-rhel.config
+++ b/kernel-s390x-debug-rhel.config
@@ -480,8 +480,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BROADCOM_PHY is not set
CONFIG_BSD_DISKLABEL=y
@@ -1196,6 +1196,7 @@ CONFIG_DRM_GUD=m
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_HISI_KIRIN is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
@@ -1524,6 +1525,7 @@ CONFIG_FAULT_INJECTION=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_HGA is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -1811,6 +1813,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
# CONFIG_HID is not set
CONFIG_HID_ITE=m
@@ -1938,8 +1941,15 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -2287,7 +2297,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2326,9 +2336,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2366,8 +2376,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3357,7 +3367,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3578,6 +3588,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3658,7 +3669,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -3928,6 +3939,7 @@ CONFIG_PCIE_EDR=y
# CONFIG_PCIE_XILINX is not set
# CONFIG_PCI_FTPCI100 is not set
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
# CONFIG_PCI_IOV is not set
# CONFIG_PCI_J721E_HOST is not set
# CONFIG_PCI_MESON is not set
@@ -5860,7 +5872,6 @@ CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_OF=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
-# CONFIG_THINKPAD_LMI is not set
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDERX2_PMU=m
# CONFIG_TI_ADC081C is not set
@@ -6056,6 +6067,7 @@ CONFIG_UHID=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_HV_GENERIC=m
# CONFIG_UIO is not set
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
diff --git a/kernel-s390x-fedora.config b/kernel-s390x-fedora.config
index 53b56f6f4..8943a4e3d 100644
--- a/kernel-s390x-fedora.config
+++ b/kernel-s390x-fedora.config
@@ -1348,6 +1348,7 @@ CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_GM12U320=m
CONFIG_DRM_GUD=m
# CONFIG_DRM_HISI_HIBMC is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
CONFIG_DRM_I2C_ADV7533=y
# CONFIG_DRM_I2C_CH7006 is not set
@@ -1704,6 +1705,7 @@ CONFIG_FAT_FS=m
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -2012,6 +2014,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
# CONFIG_HID is not set
CONFIG_HID_ITE=m
@@ -2144,8 +2147,15 @@ CONFIG_HW_RANDOM_XIPHERA=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -4332,6 +4342,7 @@ CONFIG_PCIE_XILINX_CPM=y
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_HERMES=m
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
CONFIG_PCI_IOV=y
CONFIG_PCI_J721E_HOST=y
# CONFIG_PCI_MESON is not set
@@ -6423,7 +6434,6 @@ CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_OF is not set
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
-# CONFIG_THINKPAD_LMI is not set
CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
diff --git a/kernel-s390x-rhel.config b/kernel-s390x-rhel.config
index 4c6d8a8b8..d80cfe11a 100644
--- a/kernel-s390x-rhel.config
+++ b/kernel-s390x-rhel.config
@@ -480,8 +480,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BROADCOM_PHY is not set
CONFIG_BSD_DISKLABEL=y
@@ -1188,6 +1188,7 @@ CONFIG_DRM_GUD=m
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_HISI_KIRIN is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
@@ -1508,6 +1509,7 @@ CONFIG_FAT_FS=m
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_HGA is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -1795,6 +1797,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
# CONFIG_HID is not set
CONFIG_HID_ITE=m
@@ -1922,8 +1925,15 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -2271,7 +2281,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2310,9 +2320,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2350,8 +2360,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3340,7 +3350,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3561,6 +3571,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3641,7 +3652,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -3911,6 +3922,7 @@ CONFIG_PCIE_EDR=y
# CONFIG_PCIE_XILINX is not set
# CONFIG_PCI_FTPCI100 is not set
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
# CONFIG_PCI_IOV is not set
# CONFIG_PCI_J721E_HOST is not set
# CONFIG_PCI_MESON is not set
@@ -5841,7 +5853,6 @@ CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_OF=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
-# CONFIG_THINKPAD_LMI is not set
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDERX2_PMU=m
# CONFIG_TI_ADC081C is not set
@@ -6037,6 +6048,7 @@ CONFIG_UHID=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_HV_GENERIC=m
# CONFIG_UIO is not set
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
diff --git a/kernel-s390x-zfcpdump-rhel.config b/kernel-s390x-zfcpdump-rhel.config
index fd39633ea..3238698b5 100644
--- a/kernel-s390x-zfcpdump-rhel.config
+++ b/kernel-s390x-zfcpdump-rhel.config
@@ -484,8 +484,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_BRIDGE is not set
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BSD_DISKLABEL is not set
@@ -1197,6 +1197,7 @@ CONFIG_DRM_GUD=m
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_HISI_HIBMC is not set
# CONFIG_DRM_HISI_KIRIN is not set
+CONFIG_DRM_HYPERV=m
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
@@ -1518,6 +1519,7 @@ CONFIG_FAT_FS=m
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_HGA is not set
+# CONFIG_FB_HYPERV is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
@@ -1808,6 +1810,7 @@ CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
+CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
# CONFIG_HID is not set
CONFIG_HID_ITE=m
@@ -1936,8 +1939,15 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-# CONFIG_HYPERV is not set
+CONFIG_HYPERV_BALLOON=m
+CONFIG_HYPERV_IOMMU=y
+CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
+CONFIG_HYPERV_NET=m
+CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
@@ -2289,7 +2299,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2328,9 +2338,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2368,8 +2378,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3361,7 +3371,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3583,6 +3593,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3663,7 +3674,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -3933,6 +3944,7 @@ CONFIG_PCIE_EDR=y
# CONFIG_PCIE_XILINX is not set
# CONFIG_PCI_FTPCI100 is not set
# CONFIG_PCI_HOST_GENERIC is not set
+CONFIG_PCI_HYPERV=m
# CONFIG_PCI_IOV is not set
# CONFIG_PCI is not set
# CONFIG_PCI_J721E_HOST is not set
@@ -5874,7 +5886,6 @@ CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_OF=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
-# CONFIG_THINKPAD_LMI is not set
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDERX2_PMU=m
# CONFIG_TI_ADC081C is not set
@@ -6071,6 +6082,7 @@ CONFIG_UHID=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_CIF is not set
# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_HV_GENERIC=m
# CONFIG_UIO is not set
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config
index 63cbfa252..d3b075b3b 100644
--- a/kernel-x86_64-debug-fedora.config
+++ b/kernel-x86_64-debug-fedora.config
@@ -2367,9 +2367,9 @@ CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERV_IOMMU=y
-# CONFIG_HYPERV is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
diff --git a/kernel-x86_64-debug-rhel.config b/kernel-x86_64-debug-rhel.config
index d7baf97b6..c65cc845c 100644
--- a/kernel-x86_64-debug-rhel.config
+++ b/kernel-x86_64-debug-rhel.config
@@ -507,8 +507,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BROADCOM_PHY=m
CONFIG_BSD_DISKLABEL=y
@@ -2085,9 +2085,9 @@ CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERV_IOMMU=y
-# CONFIG_HYPERV is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
@@ -2487,7 +2487,7 @@ CONFIG_IOSF_MBI=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2526,9 +2526,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2566,8 +2566,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3573,7 +3573,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3793,6 +3793,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3873,7 +3874,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -6120,7 +6121,7 @@ CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
-# CONFIG_THINKPAD_LMI is not set
+CONFIG_THINKPAD_LMI=m
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDERX2_PMU=m
# CONFIG_TI_ADC081C is not set
diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config
index 898084f61..02c19e7c3 100644
--- a/kernel-x86_64-fedora.config
+++ b/kernel-x86_64-fedora.config
@@ -2350,9 +2350,9 @@ CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERV_IOMMU=y
-# CONFIG_HYPERV is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
diff --git a/kernel-x86_64-rhel.config b/kernel-x86_64-rhel.config
index dec188f78..38624afcb 100644
--- a/kernel-x86_64-rhel.config
+++ b/kernel-x86_64-rhel.config
@@ -507,8 +507,8 @@ CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE=m
# CONFIG_BRIDGE_MRP is not set
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
+# CONFIG_BRIDGE_NETFILTER is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BROADCOM_PHY=m
CONFIG_BSD_DISKLABEL=y
@@ -2069,9 +2069,9 @@ CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERV_IOMMU=y
-# CONFIG_HYPERV is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
+CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
@@ -2471,7 +2471,7 @@ CONFIG_IOSF_MBI=y
# CONFIG_IO_STRICT_DEVMEM is not set
# CONFIG_IO_URING is not set
CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
@@ -2510,9 +2510,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
+# CONFIG_IP_NF_ARPTABLES is not set
CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -2550,8 +2550,8 @@ CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETPORTNET=m
+# CONFIG_IP_SET is not set
CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
@@ -3554,7 +3554,7 @@ CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_XTABLES_COMPAT is not set
-CONFIG_NETFILTER_XTABLES=y
+# CONFIG_NETFILTER_XTABLES is not set
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
@@ -3774,6 +3774,7 @@ CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
@@ -3854,7 +3855,7 @@ CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NFT_CHAIN_NAT_IPV4=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_COMPAT=m
+# CONFIG_NFT_COMPAT is not set
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CT=m
@@ -6098,7 +6099,7 @@ CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
-# CONFIG_THINKPAD_LMI is not set
+CONFIG_THINKPAD_LMI=m
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_THUNDERX2_PMU=m
# CONFIG_TI_ADC081C is not set
diff --git a/kernel.spec b/kernel.spec
index fb39d10c2..d97cbc2fc 100755
--- a/kernel.spec
+++ b/kernel.spec
@@ -85,7 +85,7 @@ Summary: The Linux kernel
# the --with-release option overrides this setting.)
%define debugbuildsenabled 1
-%global distro_build 0.rc3.20211001git4de593fb965f.30
+%global distro_build 0.rc4.20211006git60a9483534ed.34
%if 0%{?fedora}
%define secure_boot_arch x86_64
@@ -132,13 +132,13 @@ Summary: The Linux kernel
%define rpmversion 5.15.0
%define patchversion 5.15
-%define pkgrelease 0.rc3.20211001git4de593fb965f.30
+%define pkgrelease 0.rc4.20211006git60a9483534ed.34
# This is needed to do merge window version magic
%define patchlevel 15
# allow pkg_release to have configurable %%{?dist} tag
-%define specrelease 0.rc3.20211001git4de593fb965f.30%{?buildid}%{?dist}
+%define specrelease 0.rc4.20211006git60a9483534ed.34%{?buildid}%{?dist}
%define pkg_release %{specrelease}
@@ -679,7 +679,7 @@ BuildRequires: lld
# exact git commit you can run
#
# xzcat -qq ${TARBALL} | git get-tar-commit-id
-Source0: linux-5.15-rc3-240-g4de593fb965f.tar.xz
+Source0: linux-5.15-rc4-15-g60a9483534ed.tar.xz
Source1: Makefile.rhelver
@@ -1370,8 +1370,8 @@ ApplyOptionalPatch()
fi
}
-%setup -q -n kernel-5.15-rc3-240-g4de593fb965f -c
-mv linux-5.15-rc3-240-g4de593fb965f linux-%{KVERREL}
+%setup -q -n kernel-5.15-rc4-15-g60a9483534ed -c
+mv linux-5.15-rc4-15-g60a9483534ed linux-%{KVERREL}
cd linux-%{KVERREL}
# cp -a %{SOURCE1} .
@@ -2260,7 +2260,7 @@ export BPFTOOL=$(pwd)/tools/bpf/bpftool/bpftool
pushd tools/testing/selftests
# We need to install here because we need to call make with ARCH set which
# doesn't seem possible to do in the install section.
-%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf livepatch net net/forwarding net/mptcp netfilter tc-testing" SKIP_TARGETS="" FORCE_TARGETS=1 INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install
+%{make} %{?_smp_mflags} ARCH=$Arch V=1 TARGETS="bpf livepatch net net/forwarding net/mptcp netfilter tc-testing" SKIP_TARGETS="" INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests VMLINUX_H="${RPM_VMLINUX_H}" install
# 'make install' for bpf is broken and upstream refuses to fix it.
# Install the needed files manually.
@@ -2974,8 +2974,23 @@ fi
#
#
%changelog
-* Fri Oct 01 2021 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.15-0.rc3.20211001git4de593fb965f.30]
+* Wed Oct 06 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.15-0.rc4.20211006git60a9483534ed.34]
+- Testing upstream bpf selftests (Justin M. Forbes)
+
+* Wed Oct 06 2021 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.15-0.rc4.20211006git60a9483534ed.34]
+- Revert "Merge branch 'ppcbpfselftest' into 'os-build'" (Justin M. Forbes)
+
+* Tue Oct 05 2021 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.15-0.rc4.20211005gitf6274b06e326.33]
+- Fix ordering in genspec args (Justin M. Forbes)
+
+* Sat Oct 02 2021 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.15-0.rc3.20211002git53d5fc89d66a.30]
+- redhat/configs: Enable Hyper-V guests on ARM64 (Vitaly Kuznetsov) [2007430]
+- redhat: configs: Enable CONFIG_THINKPAD_LMI (Hans de Goede)
+- redhat/docs: update Koji link to avoid redirect (Joel Savitz)
+- redhat: add support for different profiles with dist*-brew (Herton R. Krzesinski)
- Fix BPF selftests build on ppc64 (Justin M. Forbes)
+- redhat: configs: Disable xtables and ipset (Phil Sutter) [1945179]
+- redhat: Add mark_driver_deprecated() (Phil Sutter) [1945179]
* Fri Oct 01 2021 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.15-0.rc3.20211001git4de593fb965f.29]
- Change s390x CONFIG_NODES_SHIFT from 4 to 1 (Justin M. Forbes)
diff --git a/patch-5.15-redhat.patch b/patch-5.15-redhat.patch
index c23d95a6e..49e6f2ba9 100644
--- a/patch-5.15-redhat.patch
+++ b/patch-5.15-redhat.patch
@@ -1,6 +1,6 @@
Documentation/admin-guide/kernel-parameters.txt | 9 +
Kconfig | 2 +
- Kconfig.redhat | 17 +
+ Kconfig.redhat | 17 ++
Makefile | 12 +-
arch/arm/Kconfig | 4 +-
arch/arm64/Kconfig | 3 +-
@@ -10,22 +10,22 @@
arch/s390/kernel/ipl.c | 5 +
arch/s390/kernel/setup.c | 4 +
arch/x86/kernel/cpu/common.c | 1 +
- arch/x86/kernel/setup.c | 69 ++-
- crypto/rng.c | 73 ++-
+ arch/x86/kernel/setup.c | 69 ++++-
+ crypto/rng.c | 73 ++++-
drivers/acpi/apei/hest.c | 8 +
drivers/acpi/irq.c | 17 +-
drivers/acpi/scan.c | 9 +
- drivers/ata/libahci.c | 18 +
- drivers/char/ipmi/ipmi_dmi.c | 15 +
+ drivers/ata/libahci.c | 18 ++
+ drivers/char/ipmi/ipmi_dmi.c | 15 ++
drivers/char/ipmi/ipmi_msghandler.c | 16 +-
- drivers/char/random.c | 115 +++++
+ drivers/char/random.c | 115 ++++++++
drivers/firmware/efi/Makefile | 1 +
- drivers/firmware/efi/efi.c | 124 +++--
- drivers/firmware/efi/secureboot.c | 38 ++
- drivers/hid/hid-rmi.c | 64 ---
- drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 +
- drivers/input/rmi4/rmi_driver.c | 124 +++--
- drivers/iommu/iommu.c | 22 +
+ drivers/firmware/efi/efi.c | 124 ++++++---
+ drivers/firmware/efi/secureboot.c | 38 +++
+ drivers/hid/hid-rmi.c | 64 -----
+ drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++
+ drivers/input/rmi4/rmi_driver.c | 124 +++++----
+ drivers/iommu/iommu.c | 22 ++
drivers/message/fusion/mptsas.c | 10 +
drivers/message/fusion/mptspi.c | 11 +
drivers/net/team/team.c | 2 +
@@ -34,7 +34,7 @@
drivers/nvme/host/multipath.c | 19 +-
drivers/nvme/host/nvme.h | 4 +
drivers/pci/pci-driver.c | 29 ++
- drivers/pci/quirks.c | 24 +
+ drivers/pci/quirks.c | 24 ++
drivers/scsi/aacraid/linit.c | 2 +
drivers/scsi/be2iscsi/be_main.c | 2 +
drivers/scsi/hpsa.c | 4 +
@@ -47,23 +47,23 @@
fs/ext4/super.c | 5 +
fs/xfs/xfs_super.c | 5 +
include/linux/efi.h | 22 +-
- include/linux/kernel.h | 15 +
+ include/linux/kernel.h | 17 ++
include/linux/lsm_hook_defs.h | 2 +
include/linux/lsm_hooks.h | 6 +
include/linux/module.h | 1 +
include/linux/panic.h | 19 +-
include/linux/pci.h | 4 +
include/linux/random.h | 7 +
- include/linux/rh_kabi.h | 297 +++++++++++
+ include/linux/rh_kabi.h | 297 +++++++++++++++++++++
include/linux/rmi.h | 1 +
include/linux/security.h | 5 +
init/Kconfig | 2 +-
kernel/Makefile | 1 +
- kernel/bpf/syscall.c | 18 +
+ kernel/bpf/syscall.c | 18 ++
kernel/module.c | 2 +
kernel/module_signing.c | 9 +-
kernel/panic.c | 14 +
- kernel/rh_taint.c | 93 ++++
+ kernel/rh_taint.c | 109 ++++++++
kernel/sysctl.c | 5 +
mm/cma.c | 10 +
scripts/mod/modpost.c | 8 +
@@ -72,20 +72,7 @@
security/lockdown/Kconfig | 13 +
security/lockdown/lockdown.c | 1 +
security/security.c | 6 +
- tools/testing/selftests/bpf/Makefile | 1 -
- .../selftests/bpf/prog_tests/linked_funcs.c | 42 --
- .../testing/selftests/bpf/prog_tests/linked_maps.c | 30 --
- .../testing/selftests/bpf/prog_tests/linked_vars.c | 43 --
- tools/testing/selftests/bpf/progs/bpf_cubic.c | 545 ---------------------
- tools/testing/selftests/bpf/progs/bpf_dctcp.c | 249 ----------
- .../testing/selftests/bpf/progs/kfunc_call_test.c | 47 --
- .../selftests/bpf/progs/kfunc_call_test_subprog.c | 42 --
- tools/testing/selftests/bpf/progs/linked_funcs1.c | 73 ---
- tools/testing/selftests/bpf/progs/linked_funcs2.c | 73 ---
- tools/testing/selftests/bpf/progs/linked_maps2.c | 76 ---
- tools/testing/selftests/bpf/progs/linked_vars1.c | 54 --
- tools/testing/selftests/bpf/progs/linked_vars2.c | 55 ---
- 87 files changed, 1359 insertions(+), 1523 deletions(-)
+ 74 files changed, 1377 insertions(+), 193 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 91ba391f9b32..88296cfdc5e5 100644
@@ -141,7 +128,7 @@ index 000000000000..effb81d04bfd
+
+endmenu
diff --git a/Makefile b/Makefile
-index 437ccc66a1c2..22750d1ec561 100644
+index 7b74223d1309..ef9d05c382c3 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
@@ -1573,7 +1560,7 @@ index 75dbe77b0b4b..029ff8576f8e 100644
err_netlink:
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
-index e486845d2c7e..c012fc0027f1 100644
+index 7712a8f78337..471f4ff4272a 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -262,6 +262,9 @@ static void nvme_delete_ctrl_sync(struct nvme_ctrl *ctrl)
@@ -1687,10 +1674,10 @@ index e8ccdd398f78..b77de74d3660 100644
if (!ctrl->max_namespaces ||
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
-index 9871c0c9374c..08afeca5ffda 100644
+index ed79a6c7e804..961dc67d7261 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
-@@ -740,6 +740,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys);
+@@ -746,6 +746,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys);
void nvme_mpath_start_freeze(struct nvme_subsystem *subsys);
bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name, int *flags);
void nvme_failover_req(struct request *req);
@@ -1698,7 +1685,7 @@ index 9871c0c9374c..08afeca5ffda 100644
void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl);
int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,struct nvme_ns_head *head);
void nvme_mpath_add_disk(struct nvme_ns *ns, struct nvme_id_ns *id);
-@@ -778,6 +779,9 @@ static inline bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name,
+@@ -784,6 +785,9 @@ static inline bool nvme_mpath_set_disk_name(struct nvme_ns *ns, char *disk_name,
static inline void nvme_failover_req(struct request *req)
{
}
@@ -2069,10 +2056,10 @@ index 86658a81d284..5647f4756e97 100644
* disconnected while waiting for the lock to succeed. */
usb_lock_device(hdev);
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
-index 0775950ee84e..1a3e0b7dd7dc 100644
+index 88d5d274a868..6693ff552b24 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
-@@ -4292,6 +4292,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
+@@ -4298,6 +4298,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
set_bit(EXT4_FLAGS_BDEV_IS_DAX, &sbi->s_ext4_flags);
if (sbi->s_mount_opt & EXT4_MOUNT_DAX_ALWAYS) {
@@ -2080,7 +2067,7 @@ index 0775950ee84e..1a3e0b7dd7dc 100644
if (ext4_has_feature_inline_data(sb)) {
ext4_msg(sb, KERN_ERR, "Cannot use DAX on a filesystem"
" that may contain inline data");
-@@ -4302,6 +4303,10 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
+@@ -4308,6 +4309,10 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
"DAX unsupported by block device.");
goto failed_mount;
}
@@ -2183,10 +2170,10 @@ index 6b5d36babfcc..fd4a5d66a9d0 100644
enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var)
{
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
-index 2776423a587e..b2ad8b56dc3c 100644
+index 2776423a587e..07b4d301690d 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -530,4 +530,19 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
+@@ -530,4 +530,21 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
/* OTHER_WRITABLE? Generally considered a bad idea. */ \
BUILD_BUG_ON_ZERO((perms) & 2) + \
(perms))
@@ -2198,11 +2185,13 @@ index 2776423a587e..b2ad8b56dc3c 100644
+void mark_hardware_deprecated(const char *msg);
+void mark_tech_preview(const char *msg, struct module *mod);
+void mark_driver_unsupported(const char *name);
++void mark_driver_deprecated(const char *name);
+#else
+static inline void mark_hardware_unsupported(const char *msg) { }
+static inline void mark_hardware_deprecated(const char *msg) { }
+static inline void mark_tech_preview(const char *msg, struct module *mod) { }
+static inline void mark_driver_unsupported(const char *name) { }
++static inline void mark_driver_deprecated(const char *name) { }
+#endif
+
#endif
@@ -2785,10 +2774,10 @@ index cefd7d82366f..ad43433c7013 100644
/**
diff --git a/kernel/rh_taint.c b/kernel/rh_taint.c
new file mode 100644
-index 000000000000..4050b6dead75
+index 000000000000..95196f56ab1e
--- /dev/null
+++ b/kernel/rh_taint.c
-@@ -0,0 +1,93 @@
+@@ -0,0 +1,109 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
+
@@ -2882,6 +2871,22 @@ index 000000000000..4050b6dead75
+ name ? name : "kernel");
+}
+EXPORT_SYMBOL(mark_driver_unsupported);
++
++/**
++ * mark_driver_deprecated() - Mark drivers as deprecated.
++ * @name: the name of the driver
++ *
++ * Called to minimize the support status of a previously supported driver in
++ * a minor release. This does not TAINT the kernel. Future
++ * RHEL major releases may not include this driver. Driver updates and fixes
++ * will be limited to critical issues in future minor releases.
++ */
++void mark_driver_deprecated(const char *name)
++{
++ pr_crit("Warning: %s - this driver is not recommended for new deployments. It continues to be supported in this RHEL release, but it is likely to be removed in the next major release. Driver updates and fixes will be limited to critical issues. Please contact Red Hat Support for additional information.\n",
++ name ? name : "kernel");
++}
++EXPORT_SYMBOL(mark_driver_deprecated);
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 083be6af29d7..4f271712be5e 100644
--- a/kernel/sysctl.c
@@ -3049,1416 +3054,3 @@ index 9ffa9e9c5c55..36484cc9842d 100644
#ifdef CONFIG_PERF_EVENTS
int security_perf_event_open(struct perf_event_attr *attr, int type)
{
-diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
-index 799b88152e9e..73c687d900c3 100644
---- a/tools/testing/selftests/bpf/Makefile
-+++ b/tools/testing/selftests/bpf/Makefile
-@@ -426,7 +426,6 @@ $(TRUNNER_TEST_OBJS): $(TRUNNER_OUTPUT)/%.test.o: \
- $(TRUNNER_BPF_OBJS) \
- $(TRUNNER_BPF_SKELS) \
- $(TRUNNER_BPF_LSKELS) \
-- $(TRUNNER_BPF_SKELS_LINKED) \
- $$(BPFOBJ) | $(TRUNNER_OUTPUT)
- $$(call msg,TEST-OBJ,$(TRUNNER_BINARY),$$@)
- $(Q)cd $$(@D) && $$(CC) -I. $$(CFLAGS) -c $(CURDIR)/$$< $$(LDLIBS) -o $$(@F)
-diff --git a/tools/testing/selftests/bpf/prog_tests/linked_funcs.c b/tools/testing/selftests/bpf/prog_tests/linked_funcs.c
-deleted file mode 100644
-index e9916f2817ec..000000000000
---- a/tools/testing/selftests/bpf/prog_tests/linked_funcs.c
-+++ /dev/null
-@@ -1,42 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--
--#include <test_progs.h>
--#include <sys/syscall.h>
--#include "linked_funcs.skel.h"
--
--void test_linked_funcs(void)
--{
-- int err;
-- struct linked_funcs *skel;
--
-- skel = linked_funcs__open();
-- if (!ASSERT_OK_PTR(skel, "skel_open"))
-- return;
--
-- skel->rodata->my_tid = syscall(SYS_gettid);
-- skel->bss->syscall_id = SYS_getpgid;
--
-- err = linked_funcs__load(skel);
-- if (!ASSERT_OK(err, "skel_load"))
-- goto cleanup;
--
-- err = linked_funcs__attach(skel);
-- if (!ASSERT_OK(err, "skel_attach"))
-- goto cleanup;
--
-- /* trigger */
-- syscall(SYS_getpgid);
--
-- ASSERT_EQ(skel->bss->output_val1, 2000 + 2000, "output_val1");
-- ASSERT_EQ(skel->bss->output_ctx1, SYS_getpgid, "output_ctx1");
-- ASSERT_EQ(skel->bss->output_weak1, 42, "output_weak1");
--
-- ASSERT_EQ(skel->bss->output_val2, 2 * 1000 + 2 * (2 * 1000), "output_val2");
-- ASSERT_EQ(skel->bss->output_ctx2, SYS_getpgid, "output_ctx2");
-- /* output_weak2 should never be updated */
-- ASSERT_EQ(skel->bss->output_weak2, 0, "output_weak2");
--
--cleanup:
-- linked_funcs__destroy(skel);
--}
-diff --git a/tools/testing/selftests/bpf/prog_tests/linked_maps.c b/tools/testing/selftests/bpf/prog_tests/linked_maps.c
-deleted file mode 100644
-index 85dcaaaf2775..000000000000
---- a/tools/testing/selftests/bpf/prog_tests/linked_maps.c
-+++ /dev/null
-@@ -1,30 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--
--#include <test_progs.h>
--#include <sys/syscall.h>
--#include "linked_maps.skel.h"
--
--void test_linked_maps(void)
--{
-- int err;
-- struct linked_maps *skel;
--
-- skel = linked_maps__open_and_load();
-- if (!ASSERT_OK_PTR(skel, "skel_open"))
-- return;
--
-- err = linked_maps__attach(skel);
-- if (!ASSERT_OK(err, "skel_attach"))
-- goto cleanup;
--
-- /* trigger */
-- syscall(SYS_getpgid);
--
-- ASSERT_EQ(skel->bss->output_first1, 2000, "output_first1");
-- ASSERT_EQ(skel->bss->output_second1, 2, "output_second1");
-- ASSERT_EQ(skel->bss->output_weak1, 2, "output_weak1");
--
--cleanup:
-- linked_maps__destroy(skel);
--}
-diff --git a/tools/testing/selftests/bpf/prog_tests/linked_vars.c b/tools/testing/selftests/bpf/prog_tests/linked_vars.c
-deleted file mode 100644
-index 267166abe4c1..000000000000
---- a/tools/testing/selftests/bpf/prog_tests/linked_vars.c
-+++ /dev/null
-@@ -1,43 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--
--#include <test_progs.h>
--#include <sys/syscall.h>
--#include "linked_vars.skel.h"
--
--void test_linked_vars(void)
--{
-- int err;
-- struct linked_vars *skel;
--
-- skel = linked_vars__open();
-- if (!ASSERT_OK_PTR(skel, "skel_open"))
-- return;
--
-- skel->bss->input_bss1 = 1000;
-- skel->bss->input_bss2 = 2000;
-- skel->bss->input_bss_weak = 3000;
--
-- err = linked_vars__load(skel);
-- if (!ASSERT_OK(err, "skel_load"))
-- goto cleanup;
--
-- err = linked_vars__attach(skel);
-- if (!ASSERT_OK(err, "skel_attach"))
-- goto cleanup;
--
-- /* trigger */
-- syscall(SYS_getpgid);
--
-- ASSERT_EQ(skel->bss->output_bss1, 1000 + 2000 + 3000, "output_bss1");
-- ASSERT_EQ(skel->bss->output_bss2, 1000 + 2000 + 3000, "output_bss2");
-- /* 10 comes from "winner" input_data_weak in first obj file */
-- ASSERT_EQ(skel->bss->output_data1, 1 + 2 + 10, "output_bss1");
-- ASSERT_EQ(skel->bss->output_data2, 1 + 2 + 10, "output_bss2");
-- /* 100 comes from "winner" input_rodata_weak in first obj file */
-- ASSERT_EQ(skel->bss->output_rodata1, 11 + 22 + 100, "output_weak1");
-- ASSERT_EQ(skel->bss->output_rodata2, 11 + 22 + 100, "output_weak2");
--
--cleanup:
-- linked_vars__destroy(skel);
--}
-diff --git a/tools/testing/selftests/bpf/progs/bpf_cubic.c b/tools/testing/selftests/bpf/progs/bpf_cubic.c
-deleted file mode 100644
-index f62df4d023f9..000000000000
---- a/tools/testing/selftests/bpf/progs/bpf_cubic.c
-+++ /dev/null
-@@ -1,545 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-only
--
--/* WARNING: This implemenation is not necessarily the same
-- * as the tcp_cubic.c. The purpose is mainly for testing
-- * the kernel BPF logic.
-- *
-- * Highlights:
-- * 1. CONFIG_HZ .kconfig map is used.
-- * 2. In bictcp_update(), calculation is changed to use usec
-- * resolution (i.e. USEC_PER_JIFFY) instead of using jiffies.
-- * Thus, usecs_to_jiffies() is not used in the bpf_cubic.c.
-- * 3. In bitctcp_update() [under tcp_friendliness], the original
-- * "while (ca->ack_cnt > delta)" loop is changed to the equivalent
-- * "ca->ack_cnt / delta" operation.
-- */
--
--#include <linux/bpf.h>
--#include <linux/stddef.h>
--#include <linux/tcp.h>
--#include "bpf_tcp_helpers.h"
--
--char _license[] SEC("license") = "GPL";
--
--#define clamp(val, lo, hi) min((typeof(val))max(val, lo), hi)
--
--#define BICTCP_BETA_SCALE 1024 /* Scale factor beta calculation
-- * max_cwnd = snd_cwnd * beta
-- */
--#define BICTCP_HZ 10 /* BIC HZ 2^10 = 1024 */
--
--/* Two methods of hybrid slow start */
--#define HYSTART_ACK_TRAIN 0x1
--#define HYSTART_DELAY 0x2
--
--/* Number of delay samples for detecting the increase of delay */
--#define HYSTART_MIN_SAMPLES 8
--#define HYSTART_DELAY_MIN (4000U) /* 4ms */
--#define HYSTART_DELAY_MAX (16000U) /* 16 ms */
--#define HYSTART_DELAY_THRESH(x) clamp(x, HYSTART_DELAY_MIN, HYSTART_DELAY_MAX)
--
--static int fast_convergence = 1;
--static const int beta = 717; /* = 717/1024 (BICTCP_BETA_SCALE) */
--static int initial_ssthresh;
--static const int bic_scale = 41;
--static int tcp_friendliness = 1;
--
--static int hystart = 1;
--static int hystart_detect = HYSTART_ACK_TRAIN | HYSTART_DELAY;
--static int hystart_low_window = 16;
--static int hystart_ack_delta_us = 2000;
--
--static const __u32 cube_rtt_scale = (bic_scale * 10); /* 1024*c/rtt */
--static const __u32 beta_scale = 8*(BICTCP_BETA_SCALE+beta) / 3
-- / (BICTCP_BETA_SCALE - beta);
--/* calculate the "K" for (wmax-cwnd) = c/rtt * K^3
-- * so K = cubic_root( (wmax-cwnd)*rtt/c )
-- * the unit of K is bictcp_HZ=2^10, not HZ
-- *
-- * c = bic_scale >> 10
-- * rtt = 100ms
-- *
-- * the following code has been designed and tested for
-- * cwnd < 1 million packets
-- * RTT < 100 seconds
-- * HZ < 1,000,00 (corresponding to 10 nano-second)
-- */
--
--/* 1/c * 2^2*bictcp_HZ * srtt, 2^40 */
--static const __u64 cube_factor = (__u64)(1ull << (10+3*BICTCP_HZ))
-- / (bic_scale * 10);
--
--/* BIC TCP Parameters */
--struct bictcp {
-- __u32 cnt; /* increase cwnd by 1 after ACKs */
-- __u32 last_max_cwnd; /* last maximum snd_cwnd */
-- __u32 last_cwnd; /* the last snd_cwnd */
-- __u32 last_time; /* time when updated last_cwnd */
-- __u32 bic_origin_point;/* origin point of bic function */
-- __u32 bic_K; /* time to origin point
-- from the beginning of the current epoch */
-- __u32 delay_min; /* min delay (usec) */
-- __u32 epoch_start; /* beginning of an epoch */
-- __u32 ack_cnt; /* number of acks */
-- __u32 tcp_cwnd; /* estimated tcp cwnd */
-- __u16 unused;
-- __u8 sample_cnt; /* number of samples to decide curr_rtt */
-- __u8 found; /* the exit point is found? */
-- __u32 round_start; /* beginning of each round */
-- __u32 end_seq; /* end_seq of the round */
-- __u32 last_ack; /* last time when the ACK spacing is close */
-- __u32 curr_rtt; /* the minimum rtt of current round */
--};
--
--static inline void bictcp_reset(struct bictcp *ca)
--{
-- ca->cnt = 0;
-- ca->last_max_cwnd = 0;
-- ca->last_cwnd = 0;
-- ca->last_time = 0;
-- ca->bic_origin_point = 0;
-- ca->bic_K = 0;
-- ca->delay_min = 0;
-- ca->epoch_start = 0;
-- ca->ack_cnt = 0;
-- ca->tcp_cwnd = 0;
-- ca->found = 0;
--}
--
--extern unsigned long CONFIG_HZ __kconfig;
--#define HZ CONFIG_HZ
--#define USEC_PER_MSEC 1000UL
--#define USEC_PER_SEC 1000000UL
--#define USEC_PER_JIFFY (USEC_PER_SEC / HZ)
--
--static __always_inline __u64 div64_u64(__u64 dividend, __u64 divisor)
--{
-- return dividend / divisor;
--}
--
--#define div64_ul div64_u64
--
--#define BITS_PER_U64 (sizeof(__u64) * 8)
--static __always_inline int fls64(__u64 x)
--{
-- int num = BITS_PER_U64 - 1;
--
-- if (x == 0)
-- return 0;
--
-- if (!(x & (~0ull << (BITS_PER_U64-32)))) {
-- num -= 32;
-- x <<= 32;
-- }
-- if (!(x & (~0ull << (BITS_PER_U64-16)))) {
-- num -= 16;
-- x <<= 16;
-- }
-- if (!(x & (~0ull << (BITS_PER_U64-8)))) {
-- num -= 8;
-- x <<= 8;
-- }
-- if (!(x & (~0ull << (BITS_PER_U64-4)))) {
-- num -= 4;
-- x <<= 4;
-- }
-- if (!(x & (~0ull << (BITS_PER_U64-2)))) {
-- num -= 2;
-- x <<= 2;
-- }
-- if (!(x & (~0ull << (BITS_PER_U64-1))))
-- num -= 1;
--
-- return num + 1;
--}
--
--static __always_inline __u32 bictcp_clock_us(const struct sock *sk)
--{
-- return tcp_sk(sk)->tcp_mstamp;
--}
--
--static __always_inline void bictcp_hystart_reset(struct sock *sk)
--{
-- struct tcp_sock *tp = tcp_sk(sk);
-- struct bictcp *ca = inet_csk_ca(sk);
--
-- ca->round_start = ca->last_ack = bictcp_clock_us(sk);
-- ca->end_seq = tp->snd_nxt;
-- ca->curr_rtt = ~0U;
-- ca->sample_cnt = 0;
--}
--
--/* "struct_ops/" prefix is not a requirement
-- * It will be recognized as BPF_PROG_TYPE_STRUCT_OPS
-- * as long as it is used in one of the func ptr
-- * under SEC(".struct_ops").
-- */
--SEC("struct_ops/bpf_cubic_init")
--void BPF_PROG(bpf_cubic_init, struct sock *sk)
--{
-- struct bictcp *ca = inet_csk_ca(sk);
--
-- bictcp_reset(ca);
--
-- if (hystart)
-- bictcp_hystart_reset(sk);
--
-- if (!hystart && initial_ssthresh)
-- tcp_sk(sk)->snd_ssthresh = initial_ssthresh;
--}
--
--/* No prefix in SEC will also work.
-- * The remaining tcp-cubic functions have an easier way.
-- */
--SEC("no-sec-prefix-bictcp_cwnd_event")
--void BPF_PROG(bpf_cubic_cwnd_event, struct sock *sk, enum tcp_ca_event event)
--{
-- if (event == CA_EVENT_TX_START) {
-- struct bictcp *ca = inet_csk_ca(sk);
-- __u32 now = tcp_jiffies32;
-- __s32 delta;
--
-- delta = now - tcp_sk(sk)->lsndtime;
--
-- /* We were application limited (idle) for a while.
-- * Shift epoch_start to keep cwnd growth to cubic curve.
-- */
-- if (ca->epoch_start && delta > 0) {
-- ca->epoch_start += delta;
-- if (after(ca->epoch_start, now))
-- ca->epoch_start = now;
-- }
-- return;
-- }
--}
--
--/*
-- * cbrt(x) MSB values for x MSB values in [0..63].
-- * Precomputed then refined by hand - Willy Tarreau
-- *
-- * For x in [0..63],
-- * v = cbrt(x << 18) - 1
-- * cbrt(x) = (v[x] + 10) >> 6
-- */
--static const __u8 v[] = {
-- /* 0x00 */ 0, 54, 54, 54, 118, 118, 118, 118,
-- /* 0x08 */ 123, 129, 134, 138, 143, 147, 151, 156,
-- /* 0x10 */ 157, 161, 164, 168, 170, 173, 176, 179,
-- /* 0x18 */ 181, 185, 187, 190, 192, 194, 197, 199,
-- /* 0x20 */ 200, 202, 204, 206, 209, 211, 213, 215,
-- /* 0x28 */ 217, 219, 221, 222, 224, 225, 227, 229,
-- /* 0x30 */ 231, 232, 234, 236, 237, 239, 240, 242,
-- /* 0x38 */ 244, 245, 246, 248, 250, 251, 252, 254,
--};
--
--/* calculate the cubic root of x using a table lookup followed by one
-- * Newton-Raphson iteration.
-- * Avg err ~= 0.195%
-- */
--static __always_inline __u32 cubic_root(__u64 a)
--{
-- __u32 x, b, shift;
--
-- if (a < 64) {
-- /* a in [0..63] */
-- return ((__u32)v[(__u32)a] + 35) >> 6;
-- }
--
-- b = fls64(a);
-- b = ((b * 84) >> 8) - 1;
-- shift = (a >> (b * 3));
--
-- /* it is needed for verifier's bound check on v */
-- if (shift >= 64)
-- return 0;
--
-- x = ((__u32)(((__u32)v[shift] + 10) << b)) >> 6;
--
-- /*
-- * Newton-Raphson iteration
-- * 2
-- * x = ( 2 * x + a / x ) / 3
-- * k+1 k k
-- */
-- x = (2 * x + (__u32)div64_u64(a, (__u64)x * (__u64)(x - 1)));
-- x = ((x * 341) >> 10);
-- return x;
--}
--
--/*
-- * Compute congestion window to use.
-- */
--static __always_inline void bictcp_update(struct bictcp *ca, __u32 cwnd,
-- __u32 acked)
--{
-- __u32 delta, bic_target, max_cnt;
-- __u64 offs, t;
--
-- ca->ack_cnt += acked; /* count the number of ACKed packets */
--
-- if (ca->last_cwnd == cwnd &&
-- (__s32)(tcp_jiffies32 - ca->last_time) <= HZ / 32)
-- return;
--
-- /* The CUBIC function can update ca->cnt at most once per jiffy.
-- * On all cwnd reduction events, ca->epoch_start is set to 0,
-- * which will force a recalculation of ca->cnt.
-- */
-- if (ca->epoch_start && tcp_jiffies32 == ca->last_time)
-- goto tcp_friendliness;
--
-- ca->last_cwnd = cwnd;
-- ca->last_time = tcp_jiffies32;
--
-- if (ca->epoch_start == 0) {
-- ca->epoch_start = tcp_jiffies32; /* record beginning */
-- ca->ack_cnt = acked; /* start counting */
-- ca->tcp_cwnd = cwnd; /* syn with cubic */
--
-- if (ca->last_max_cwnd <= cwnd) {
-- ca->bic_K = 0;
-- ca->bic_origin_point = cwnd;
-- } else {
-- /* Compute new K based on
-- * (wmax-cwnd) * (srtt>>3 / HZ) / c * 2^(3*bictcp_HZ)
-- */
-- ca->bic_K = cubic_root(cube_factor
-- * (ca->last_max_cwnd - cwnd));
-- ca->bic_origin_point = ca->last_max_cwnd;
-- }
-- }
--
-- /* cubic function - calc*/
-- /* calculate c * time^3 / rtt,
-- * while considering overflow in calculation of time^3
-- * (so time^3 is done by using 64 bit)
-- * and without the support of division of 64bit numbers
-- * (so all divisions are done by using 32 bit)
-- * also NOTE the unit of those veriables
-- * time = (t - K) / 2^bictcp_HZ
-- * c = bic_scale >> 10
-- * rtt = (srtt >> 3) / HZ
-- * !!! The following code does not have overflow problems,
-- * if the cwnd < 1 million packets !!!
-- */
--
-- t = (__s32)(tcp_jiffies32 - ca->epoch_start) * USEC_PER_JIFFY;
-- t += ca->delay_min;
-- /* change the unit from usec to bictcp_HZ */
-- t <<= BICTCP_HZ;
-- t /= USEC_PER_SEC;
--
-- if (t < ca->bic_K) /* t - K */
-- offs = ca->bic_K - t;
-- else
-- offs = t - ca->bic_K;
--
-- /* c/rtt * (t-K)^3 */
-- delta = (cube_rtt_scale * offs * offs * offs) >> (10+3*BICTCP_HZ);
-- if (t < ca->bic_K) /* below origin*/
-- bic_target = ca->bic_origin_point - delta;
-- else /* above origin*/
-- bic_target = ca->bic_origin_point + delta;
--
-- /* cubic function - calc bictcp_cnt*/
-- if (bic_target > cwnd) {
-- ca->cnt = cwnd / (bic_target - cwnd);
-- } else {
-- ca->cnt = 100 * cwnd; /* very small increment*/
-- }
--
-- /*
-- * The initial growth of cubic function may be too conservative
-- * when the available bandwidth is still unknown.
-- */
-- if (ca->last_max_cwnd == 0 && ca->cnt > 20)
-- ca->cnt = 20; /* increase cwnd 5% per RTT */
--
--tcp_friendliness:
-- /* TCP Friendly */
-- if (tcp_friendliness) {
-- __u32 scale = beta_scale;
-- __u32 n;
--
-- /* update tcp cwnd */
-- delta = (cwnd * scale) >> 3;
-- if (ca->ack_cnt > delta && delta) {
-- n = ca->ack_cnt / delta;
-- ca->ack_cnt -= n * delta;
-- ca->tcp_cwnd += n;
-- }
--
-- if (ca->tcp_cwnd > cwnd) { /* if bic is slower than tcp */
-- delta = ca->tcp_cwnd - cwnd;
-- max_cnt = cwnd / delta;
-- if (ca->cnt > max_cnt)
-- ca->cnt = max_cnt;
-- }
-- }
--
-- /* The maximum rate of cwnd increase CUBIC allows is 1 packet per
-- * 2 packets ACKed, meaning cwnd grows at 1.5x per RTT.
-- */
-- ca->cnt = max(ca->cnt, 2U);
--}
--
--/* Or simply use the BPF_STRUCT_OPS to avoid the SEC boiler plate. */
--void BPF_STRUCT_OPS(bpf_cubic_cong_avoid, struct sock *sk, __u32 ack, __u32 acked)
--{
-- struct tcp_sock *tp = tcp_sk(sk);
-- struct bictcp *ca = inet_csk_ca(sk);
--
-- if (!tcp_is_cwnd_limited(sk))
-- return;
--
-- if (tcp_in_slow_start(tp)) {
-- if (hystart && after(ack, ca->end_seq))
-- bictcp_hystart_reset(sk);
-- acked = tcp_slow_start(tp, acked);
-- if (!acked)
-- return;
-- }
-- bictcp_update(ca, tp->snd_cwnd, acked);
-- tcp_cong_avoid_ai(tp, ca->cnt, acked);
--}
--
--__u32 BPF_STRUCT_OPS(bpf_cubic_recalc_ssthresh, struct sock *sk)
--{
-- const struct tcp_sock *tp = tcp_sk(sk);
-- struct bictcp *ca = inet_csk_ca(sk);
--
-- ca->epoch_start = 0; /* end of epoch */
--
-- /* Wmax and fast convergence */
-- if (tp->snd_cwnd < ca->last_max_cwnd && fast_convergence)
-- ca->last_max_cwnd = (tp->snd_cwnd * (BICTCP_BETA_SCALE + beta))
-- / (2 * BICTCP_BETA_SCALE);
-- else
-- ca->last_max_cwnd = tp->snd_cwnd;
--
-- return max((tp->snd_cwnd * beta) / BICTCP_BETA_SCALE, 2U);
--}
--
--void BPF_STRUCT_OPS(bpf_cubic_state, struct sock *sk, __u8 new_state)
--{
-- if (new_state == TCP_CA_Loss) {
-- bictcp_reset(inet_csk_ca(sk));
-- bictcp_hystart_reset(sk);
-- }
--}
--
--#define GSO_MAX_SIZE 65536
--
--/* Account for TSO/GRO delays.
-- * Otherwise short RTT flows could get too small ssthresh, since during
-- * slow start we begin with small TSO packets and ca->delay_min would
-- * not account for long aggregation delay when TSO packets get bigger.
-- * Ideally even with a very small RTT we would like to have at least one
-- * TSO packet being sent and received by GRO, and another one in qdisc layer.
-- * We apply another 100% factor because @rate is doubled at this point.
-- * We cap the cushion to 1ms.
-- */
--static __always_inline __u32 hystart_ack_delay(struct sock *sk)
--{
-- unsigned long rate;
--
-- rate = sk->sk_pacing_rate;
-- if (!rate)
-- return 0;
-- return min((__u64)USEC_PER_MSEC,
-- div64_ul((__u64)GSO_MAX_SIZE * 4 * USEC_PER_SEC, rate));
--}
--
--static __always_inline void hystart_update(struct sock *sk, __u32 delay)
--{
-- struct tcp_sock *tp = tcp_sk(sk);
-- struct bictcp *ca = inet_csk_ca(sk);
-- __u32 threshold;
--
-- if (hystart_detect & HYSTART_ACK_TRAIN) {
-- __u32 now = bictcp_clock_us(sk);
--
-- /* first detection parameter - ack-train detection */
-- if ((__s32)(now - ca->last_ack) <= hystart_ack_delta_us) {
-- ca->last_ack = now;
--
-- threshold = ca->delay_min + hystart_ack_delay(sk);
--
-- /* Hystart ack train triggers if we get ack past
-- * ca->delay_min/2.
-- * Pacing might have delayed packets up to RTT/2
-- * during slow start.
-- */
-- if (sk->sk_pacing_status == SK_PACING_NONE)
-- threshold >>= 1;
--
-- if ((__s32)(now - ca->round_start) > threshold) {
-- ca->found = 1;
-- tp->snd_ssthresh = tp->snd_cwnd;
-- }
-- }
-- }
--
-- if (hystart_detect & HYSTART_DELAY) {
-- /* obtain the minimum delay of more than sampling packets */
-- if (ca->curr_rtt > delay)
-- ca->curr_rtt = delay;
-- if (ca->sample_cnt < HYSTART_MIN_SAMPLES) {
-- ca->sample_cnt++;
-- } else {
-- if (ca->curr_rtt > ca->delay_min +
-- HYSTART_DELAY_THRESH(ca->delay_min >> 3)) {
-- ca->found = 1;
-- tp->snd_ssthresh = tp->snd_cwnd;
-- }
-- }
-- }
--}
--
--void BPF_STRUCT_OPS(bpf_cubic_acked, struct sock *sk,
-- const struct ack_sample *sample)
--{
-- const struct tcp_sock *tp = tcp_sk(sk);
-- struct bictcp *ca = inet_csk_ca(sk);
-- __u32 delay;
--
-- /* Some calls are for duplicates without timetamps */
-- if (sample->rtt_us < 0)
-- return;
--
-- /* Discard delay samples right after fast recovery */
-- if (ca->epoch_start && (__s32)(tcp_jiffies32 - ca->epoch_start) < HZ)
-- return;
--
-- delay = sample->rtt_us;
-- if (delay == 0)
-- delay = 1;
--
-- /* first time call or link delay decreases */
-- if (ca->delay_min == 0 || ca->delay_min > delay)
-- ca->delay_min = delay;
--
-- /* hystart triggers when cwnd is larger than some threshold */
-- if (!ca->found && tcp_in_slow_start(tp) && hystart &&
-- tp->snd_cwnd >= hystart_low_window)
-- hystart_update(sk, delay);
--}
--
--extern __u32 tcp_reno_undo_cwnd(struct sock *sk) __ksym;
--
--__u32 BPF_STRUCT_OPS(bpf_cubic_undo_cwnd, struct sock *sk)
--{
-- return tcp_reno_undo_cwnd(sk);
--}
--
--SEC(".struct_ops")
--struct tcp_congestion_ops cubic = {
-- .init = (void *)bpf_cubic_init,
-- .ssthresh = (void *)bpf_cubic_recalc_ssthresh,
-- .cong_avoid = (void *)bpf_cubic_cong_avoid,
-- .set_state = (void *)bpf_cubic_state,
-- .undo_cwnd = (void *)bpf_cubic_undo_cwnd,
-- .cwnd_event = (void *)bpf_cubic_cwnd_event,
-- .pkts_acked = (void *)bpf_cubic_acked,
-- .name = "bpf_cubic",
--};
-diff --git a/tools/testing/selftests/bpf/progs/bpf_dctcp.c b/tools/testing/selftests/bpf/progs/bpf_dctcp.c
-deleted file mode 100644
-index 9573be6122be..000000000000
---- a/tools/testing/selftests/bpf/progs/bpf_dctcp.c
-+++ /dev/null
-@@ -1,249 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2019 Facebook */
--
--/* WARNING: This implemenation is not necessarily the same
-- * as the tcp_dctcp.c. The purpose is mainly for testing
-- * the kernel BPF logic.
-- */
--
--#include <stddef.h>
--#include <linux/bpf.h>
--#include <linux/types.h>
--#include <linux/stddef.h>
--#include <linux/tcp.h>
--#include <bpf/bpf_helpers.h>
--#include <bpf/bpf_tracing.h>
--#include "bpf_tcp_helpers.h"
--
--char _license[] SEC("license") = "GPL";
--
--volatile const char fallback[TCP_CA_NAME_MAX];
--const char bpf_dctcp[] = "bpf_dctcp";
--const char tcp_cdg[] = "cdg";
--char cc_res[TCP_CA_NAME_MAX];
--int tcp_cdg_res = 0;
--int stg_result = 0;
--
--struct {
-- __uint(type, BPF_MAP_TYPE_SK_STORAGE);
-- __uint(map_flags, BPF_F_NO_PREALLOC);
-- __type(key, int);
-- __type(value, int);
--} sk_stg_map SEC(".maps");
--
--#define DCTCP_MAX_ALPHA 1024U
--
--struct dctcp {
-- __u32 old_delivered;
-- __u32 old_delivered_ce;
-- __u32 prior_rcv_nxt;
-- __u32 dctcp_alpha;
-- __u32 next_seq;
-- __u32 ce_state;
-- __u32 loss_cwnd;
--};
--
--static unsigned int dctcp_shift_g = 4; /* g = 1/2^4 */
--static unsigned int dctcp_alpha_on_init = DCTCP_MAX_ALPHA;
--
--static __always_inline void dctcp_reset(const struct tcp_sock *tp,
-- struct dctcp *ca)
--{
-- ca->next_seq = tp->snd_nxt;
--
-- ca->old_delivered = tp->delivered;
-- ca->old_delivered_ce = tp->delivered_ce;
--}
--
--SEC("struct_ops/dctcp_init")
--void BPF_PROG(dctcp_init, struct sock *sk)
--{
-- const struct tcp_sock *tp = tcp_sk(sk);
-- struct dctcp *ca = inet_csk_ca(sk);
-- int *stg;
--
-- if (!(tp->ecn_flags & TCP_ECN_OK) && fallback[0]) {
-- /* Switch to fallback */
-- bpf_setsockopt(sk, SOL_TCP, TCP_CONGESTION,
-- (void *)fallback, sizeof(fallback));
-- /* Switch back to myself which the bpf trampoline
-- * stopped calling dctcp_init recursively.
-- */
-- bpf_setsockopt(sk, SOL_TCP, TCP_CONGESTION,
-- (void *)bpf_dctcp, sizeof(bpf_dctcp));
-- /* Switch back to fallback */
-- bpf_setsockopt(sk, SOL_TCP, TCP_CONGESTION,
-- (void *)fallback, sizeof(fallback));
-- /* Expecting -ENOTSUPP for tcp_cdg_res */
-- tcp_cdg_res = bpf_setsockopt(sk, SOL_TCP, TCP_CONGESTION,
-- (void *)tcp_cdg, sizeof(tcp_cdg));
-- bpf_getsockopt(sk, SOL_TCP, TCP_CONGESTION,
-- (void *)cc_res, sizeof(cc_res));
-- return;
-- }
--
-- ca->prior_rcv_nxt = tp->rcv_nxt;
-- ca->dctcp_alpha = min(dctcp_alpha_on_init, DCTCP_MAX_ALPHA);
-- ca->loss_cwnd = 0;
-- ca->ce_state = 0;
--
-- stg = bpf_sk_storage_get(&sk_stg_map, (void *)tp, NULL, 0);
-- if (stg) {
-- stg_result = *stg;
-- bpf_sk_storage_delete(&sk_stg_map, (void *)tp);
-- }
-- dctcp_reset(tp, ca);
--}
--
--SEC("struct_ops/dctcp_ssthresh")
--__u32 BPF_PROG(dctcp_ssthresh, struct sock *sk)
--{
-- struct dctcp *ca = inet_csk_ca(sk);
-- struct tcp_sock *tp = tcp_sk(sk);
--
-- ca->loss_cwnd = tp->snd_cwnd;
-- return max(tp->snd_cwnd - ((tp->snd_cwnd * ca->dctcp_alpha) >> 11U), 2U);
--}
--
--SEC("struct_ops/dctcp_update_alpha")
--void BPF_PROG(dctcp_update_alpha, struct sock *sk, __u32 flags)
--{
-- const struct tcp_sock *tp = tcp_sk(sk);
-- struct dctcp *ca = inet_csk_ca(sk);
--
-- /* Expired RTT */
-- if (!before(tp->snd_una, ca->next_seq)) {
-- __u32 delivered_ce = tp->delivered_ce - ca->old_delivered_ce;
-- __u32 alpha = ca->dctcp_alpha;
--
-- /* alpha = (1 - g) * alpha + g * F */
--
-- alpha -= min_not_zero(alpha, alpha >> dctcp_shift_g);
-- if (delivered_ce) {
-- __u32 delivered = tp->delivered - ca->old_delivered;
--
-- /* If dctcp_shift_g == 1, a 32bit value would overflow
-- * after 8 M packets.
-- */
-- delivered_ce <<= (10 - dctcp_shift_g);
-- delivered_ce /= max(1U, delivered);
--
-- alpha = min(alpha + delivered_ce, DCTCP_MAX_ALPHA);
-- }
-- ca->dctcp_alpha = alpha;
-- dctcp_reset(tp, ca);
-- }
--}
--
--static __always_inline void dctcp_react_to_loss(struct sock *sk)
--{
-- struct dctcp *ca = inet_csk_ca(sk);
-- struct tcp_sock *tp = tcp_sk(sk);
--
-- ca->loss_cwnd = tp->snd_cwnd;
-- tp->snd_ssthresh = max(tp->snd_cwnd >> 1U, 2U);
--}
--
--SEC("struct_ops/dctcp_state")
--void BPF_PROG(dctcp_state, struct sock *sk, __u8 new_state)
--{
-- if (new_state == TCP_CA_Recovery &&
-- new_state != BPF_CORE_READ_BITFIELD(inet_csk(sk), icsk_ca_state))
-- dctcp_react_to_loss(sk);
-- /* We handle RTO in dctcp_cwnd_event to ensure that we perform only
-- * one loss-adjustment per RTT.
-- */
--}
--
--static __always_inline void dctcp_ece_ack_cwr(struct sock *sk, __u32 ce_state)
--{
-- struct tcp_sock *tp = tcp_sk(sk);
--
-- if (ce_state == 1)
-- tp->ecn_flags |= TCP_ECN_DEMAND_CWR;
-- else
-- tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR;
--}
--
--/* Minimal DCTP CE state machine:
-- *
-- * S: 0 <- last pkt was non-CE
-- * 1 <- last pkt was CE
-- */
--static __always_inline
--void dctcp_ece_ack_update(struct sock *sk, enum tcp_ca_event evt,
-- __u32 *prior_rcv_nxt, __u32 *ce_state)
--{
-- __u32 new_ce_state = (evt == CA_EVENT_ECN_IS_CE) ? 1 : 0;
--
-- if (*ce_state != new_ce_state) {
-- /* CE state has changed, force an immediate ACK to
-- * reflect the new CE state. If an ACK was delayed,
-- * send that first to reflect the prior CE state.
-- */
-- if (inet_csk(sk)->icsk_ack.pending & ICSK_ACK_TIMER) {
-- dctcp_ece_ack_cwr(sk, *ce_state);
-- bpf_tcp_send_ack(sk, *prior_rcv_nxt);
-- }
-- inet_csk(sk)->icsk_ack.pending |= ICSK_ACK_NOW;
-- }
-- *prior_rcv_nxt = tcp_sk(sk)->rcv_nxt;
-- *ce_state = new_ce_state;
-- dctcp_ece_ack_cwr(sk, new_ce_state);
--}
--
--SEC("struct_ops/dctcp_cwnd_event")
--void BPF_PROG(dctcp_cwnd_event, struct sock *sk, enum tcp_ca_event ev)
--{
-- struct dctcp *ca = inet_csk_ca(sk);
--
-- switch (ev) {
-- case CA_EVENT_ECN_IS_CE:
-- case CA_EVENT_ECN_NO_CE:
-- dctcp_ece_ack_update(sk, ev, &ca->prior_rcv_nxt, &ca->ce_state);
-- break;
-- case CA_EVENT_LOSS:
-- dctcp_react_to_loss(sk);
-- break;
-- default:
-- /* Don't care for the rest. */
-- break;
-- }
--}
--
--SEC("struct_ops/dctcp_cwnd_undo")
--__u32 BPF_PROG(dctcp_cwnd_undo, struct sock *sk)
--{
-- const struct dctcp *ca = inet_csk_ca(sk);
--
-- return max(tcp_sk(sk)->snd_cwnd, ca->loss_cwnd);
--}
--
--extern void tcp_reno_cong_avoid(struct sock *sk, __u32 ack, __u32 acked) __ksym;
--
--SEC("struct_ops/dctcp_reno_cong_avoid")
--void BPF_PROG(dctcp_cong_avoid, struct sock *sk, __u32 ack, __u32 acked)
--{
-- tcp_reno_cong_avoid(sk, ack, acked);
--}
--
--SEC(".struct_ops")
--struct tcp_congestion_ops dctcp_nouse = {
-- .init = (void *)dctcp_init,
-- .set_state = (void *)dctcp_state,
-- .flags = TCP_CONG_NEEDS_ECN,
-- .name = "bpf_dctcp_nouse",
--};
--
--SEC(".struct_ops")
--struct tcp_congestion_ops dctcp = {
-- .init = (void *)dctcp_init,
-- .in_ack_event = (void *)dctcp_update_alpha,
-- .cwnd_event = (void *)dctcp_cwnd_event,
-- .ssthresh = (void *)dctcp_ssthresh,
-- .cong_avoid = (void *)dctcp_cong_avoid,
-- .undo_cwnd = (void *)dctcp_cwnd_undo,
-- .set_state = (void *)dctcp_state,
-- .flags = TCP_CONG_NEEDS_ECN,
-- .name = "bpf_dctcp",
--};
-diff --git a/tools/testing/selftests/bpf/progs/kfunc_call_test.c b/tools/testing/selftests/bpf/progs/kfunc_call_test.c
-deleted file mode 100644
-index 470f8723e463..000000000000
---- a/tools/testing/selftests/bpf/progs/kfunc_call_test.c
-+++ /dev/null
-@@ -1,47 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--#include <linux/bpf.h>
--#include <bpf/bpf_helpers.h>
--#include "bpf_tcp_helpers.h"
--
--extern int bpf_kfunc_call_test2(struct sock *sk, __u32 a, __u32 b) __ksym;
--extern __u64 bpf_kfunc_call_test1(struct sock *sk, __u32 a, __u64 b,
-- __u32 c, __u64 d) __ksym;
--
--SEC("classifier")
--int kfunc_call_test2(struct __sk_buff *skb)
--{
-- struct bpf_sock *sk = skb->sk;
--
-- if (!sk)
-- return -1;
--
-- sk = bpf_sk_fullsock(sk);
-- if (!sk)
-- return -1;
--
-- return bpf_kfunc_call_test2((struct sock *)sk, 1, 2);
--}
--
--SEC("classifier")
--int kfunc_call_test1(struct __sk_buff *skb)
--{
-- struct bpf_sock *sk = skb->sk;
-- __u64 a = 1ULL << 32;
-- __u32 ret;
--
-- if (!sk)
-- return -1;
--
-- sk = bpf_sk_fullsock(sk);
-- if (!sk)
-- return -1;
--
-- a = bpf_kfunc_call_test1((struct sock *)sk, 1, a | 2, 3, a | 4);
-- ret = a >> 32; /* ret should be 2 */
-- ret += (__u32)a; /* ret should be 12 */
--
-- return ret;
--}
--
--char _license[] SEC("license") = "GPL";
-diff --git a/tools/testing/selftests/bpf/progs/kfunc_call_test_subprog.c b/tools/testing/selftests/bpf/progs/kfunc_call_test_subprog.c
-deleted file mode 100644
-index 5fbd9e232d44..000000000000
---- a/tools/testing/selftests/bpf/progs/kfunc_call_test_subprog.c
-+++ /dev/null
-@@ -1,42 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--#include <linux/bpf.h>
--#include <bpf/bpf_helpers.h>
--#include "bpf_tcp_helpers.h"
--
--extern const int bpf_prog_active __ksym;
--extern __u64 bpf_kfunc_call_test1(struct sock *sk, __u32 a, __u64 b,
-- __u32 c, __u64 d) __ksym;
--extern struct sock *bpf_kfunc_call_test3(struct sock *sk) __ksym;
--int active_res = -1;
--int sk_state_res = -1;
--
--int __noinline f1(struct __sk_buff *skb)
--{
-- struct bpf_sock *sk = skb->sk;
-- int *active;
--
-- if (!sk)
-- return -1;
--
-- sk = bpf_sk_fullsock(sk);
-- if (!sk)
-- return -1;
--
-- active = (int *)bpf_per_cpu_ptr(&bpf_prog_active,
-- bpf_get_smp_processor_id());
-- if (active)
-- active_res = *active;
--
-- sk_state_res = bpf_kfunc_call_test3((struct sock *)sk)->sk_state;
--
-- return (__u32)bpf_kfunc_call_test1((struct sock *)sk, 1, 2, 3, 4);
--}
--
--SEC("classifier")
--int kfunc_call_test1(struct __sk_buff *skb)
--{
-- return f1(skb);
--}
--
--char _license[] SEC("license") = "GPL";
-diff --git a/tools/testing/selftests/bpf/progs/linked_funcs1.c b/tools/testing/selftests/bpf/progs/linked_funcs1.c
-deleted file mode 100644
-index b964ec1390c2..000000000000
---- a/tools/testing/selftests/bpf/progs/linked_funcs1.c
-+++ /dev/null
-@@ -1,73 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--
--#include "vmlinux.h"
--#include <bpf/bpf_helpers.h>
--#include <bpf/bpf_tracing.h>
--
--/* weak and shared between two files */
--const volatile int my_tid __weak;
--long syscall_id __weak;
--
--int output_val1;
--int output_ctx1;
--int output_weak1;
--
--/* same "subprog" name in all files, but it's ok because they all are static */
--static __noinline int subprog(int x)
--{
-- /* but different formula */
-- return x * 1;
--}
--
--/* Global functions can't be void */
--int set_output_val1(int x)
--{
-- output_val1 = x + subprog(x);
-- return x;
--}
--
--/* This function can't be verified as global, as it assumes raw_tp/sys_enter
-- * context and accesses syscall id (second argument). So we mark it as
-- * __hidden, so that libbpf will mark it as static in the final object file,
-- * right before verifying it in the kernel.
-- *
-- * But we don't mark it as __hidden here, rather at extern site. __hidden is
-- * "contaminating" visibility, so it will get propagated from either extern or
-- * actual definition (including from the losing __weak definition).
-- */
--void set_output_ctx1(__u64 *ctx)
--{
-- output_ctx1 = ctx[1]; /* long id, same as in BPF_PROG below */
--}
--
--/* this weak instance should win because it's the first one */
--__weak int set_output_weak(int x)
--{
-- output_weak1 = x;
-- return x;
--}
--
--extern int set_output_val2(int x);
--
--/* here we'll force set_output_ctx2() to be __hidden in the final obj file */
--__hidden extern void set_output_ctx2(__u64 *ctx);
--
--SEC("raw_tp/sys_enter")
--int BPF_PROG(handler1, struct pt_regs *regs, long id)
--{
-- if (my_tid != (u32)bpf_get_current_pid_tgid() || id != syscall_id)
-- return 0;
--
-- set_output_val2(1000);
-- set_output_ctx2(ctx); /* ctx definition is hidden in BPF_PROG macro */
--
-- /* keep input value the same across both files to avoid dependency on
-- * handler call order; differentiate by output_weak1 vs output_weak2.
-- */
-- set_output_weak(42);
--
-- return 0;
--}
--
--char LICENSE[] SEC("license") = "GPL";
-diff --git a/tools/testing/selftests/bpf/progs/linked_funcs2.c b/tools/testing/selftests/bpf/progs/linked_funcs2.c
-deleted file mode 100644
-index 575e958e60b7..000000000000
---- a/tools/testing/selftests/bpf/progs/linked_funcs2.c
-+++ /dev/null
-@@ -1,73 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--
--#include "vmlinux.h"
--#include <bpf/bpf_helpers.h>
--#include <bpf/bpf_tracing.h>
--
--/* weak and shared between both files */
--const volatile int my_tid __weak;
--long syscall_id __weak;
--
--int output_val2;
--int output_ctx2;
--int output_weak2; /* should stay zero */
--
--/* same "subprog" name in all files, but it's ok because they all are static */
--static __noinline int subprog(int x)
--{
-- /* but different formula */
-- return x * 2;
--}
--
--/* Global functions can't be void */
--int set_output_val2(int x)
--{
-- output_val2 = 2 * x + 2 * subprog(x);
-- return 2 * x;
--}
--
--/* This function can't be verified as global, as it assumes raw_tp/sys_enter
-- * context and accesses syscall id (second argument). So we mark it as
-- * __hidden, so that libbpf will mark it as static in the final object file,
-- * right before verifying it in the kernel.
-- *
-- * But we don't mark it as __hidden here, rather at extern site. __hidden is
-- * "contaminating" visibility, so it will get propagated from either extern or
-- * actual definition (including from the losing __weak definition).
-- */
--void set_output_ctx2(__u64 *ctx)
--{
-- output_ctx2 = ctx[1]; /* long id, same as in BPF_PROG below */
--}
--
--/* this weak instance should lose, because it will be processed second */
--__weak int set_output_weak(int x)
--{
-- output_weak2 = x;
-- return 2 * x;
--}
--
--extern int set_output_val1(int x);
--
--/* here we'll force set_output_ctx1() to be __hidden in the final obj file */
--__hidden extern void set_output_ctx1(__u64 *ctx);
--
--SEC("raw_tp/sys_enter")
--int BPF_PROG(handler2, struct pt_regs *regs, long id)
--{
-- if (my_tid != (u32)bpf_get_current_pid_tgid() || id != syscall_id)
-- return 0;
--
-- set_output_val1(2000);
-- set_output_ctx1(ctx); /* ctx definition is hidden in BPF_PROG macro */
--
-- /* keep input value the same across both files to avoid dependency on
-- * handler call order; differentiate by output_weak1 vs output_weak2.
-- */
-- set_output_weak(42);
--
-- return 0;
--}
--
--char LICENSE[] SEC("license") = "GPL";
-diff --git a/tools/testing/selftests/bpf/progs/linked_maps2.c b/tools/testing/selftests/bpf/progs/linked_maps2.c
-deleted file mode 100644
-index 0693687474ed..000000000000
---- a/tools/testing/selftests/bpf/progs/linked_maps2.c
-+++ /dev/null
-@@ -1,76 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--
--#include "vmlinux.h"
--#include <bpf/bpf_helpers.h>
--#include <bpf/bpf_tracing.h>
--
--/* modifiers and typedefs are ignored when comparing key/value types */
--typedef struct my_key { long x; } key_type;
--typedef struct my_value { long x; } value_type;
--
--extern struct {
-- __uint(max_entries, 16);
-- __type(key, key_type);
-- __type(value, value_type);
-- __uint(type, BPF_MAP_TYPE_HASH);
--} map1 SEC(".maps");
--
--struct {
-- __uint(type, BPF_MAP_TYPE_ARRAY);
-- __type(key, int);
-- __type(value, int);
-- __uint(max_entries, 8);
--} map2 SEC(".maps");
--
--/* this definition will lose, but it has to exactly match the winner */
--struct {
-- __uint(type, BPF_MAP_TYPE_ARRAY);
-- __type(key, int);
-- __type(value, int);
-- __uint(max_entries, 16);
--} map_weak __weak SEC(".maps");
--
--int output_first2;
--int output_second2;
--int output_weak2;
--
--SEC("raw_tp/sys_enter")
--int BPF_PROG(handler_enter2)
--{
-- /* update values with key = 2 */
-- int key = 2, val = 2;
-- key_type key_struct = { .x = 2 };
-- value_type val_struct = { .x = 2000 };
--
-- bpf_map_update_elem(&map1, &key_struct, &val_struct, 0);
-- bpf_map_update_elem(&map2, &key, &val, 0);
-- bpf_map_update_elem(&map_weak, &key, &val, 0);
--
-- return 0;
--}
--
--SEC("raw_tp/sys_exit")
--int BPF_PROG(handler_exit2)
--{
-- /* lookup values with key = 1, set in another file */
-- int key = 1, *val;
-- key_type key_struct = { .x = 1 };
-- value_type *value_struct;
--
-- value_struct = bpf_map_lookup_elem(&map1, &key_struct);
-- if (value_struct)
-- output_first2 = value_struct->x;
--
-- val = bpf_map_lookup_elem(&map2, &key);
-- if (val)
-- output_second2 = *val;
--
-- val = bpf_map_lookup_elem(&map_weak, &key);
-- if (val)
-- output_weak2 = *val;
--
-- return 0;
--}
--
--char LICENSE[] SEC("license") = "GPL";
-diff --git a/tools/testing/selftests/bpf/progs/linked_vars1.c b/tools/testing/selftests/bpf/progs/linked_vars1.c
-deleted file mode 100644
-index ef9e9d0bb0ca..000000000000
---- a/tools/testing/selftests/bpf/progs/linked_vars1.c
-+++ /dev/null
-@@ -1,54 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--
--#include "vmlinux.h"
--#include <bpf/bpf_helpers.h>
--#include <bpf/bpf_tracing.h>
--
--extern int LINUX_KERNEL_VERSION __kconfig;
--/* this weak extern will be strict due to the other file's strong extern */
--extern bool CONFIG_BPF_SYSCALL __kconfig __weak;
--extern const void bpf_link_fops __ksym __weak;
--
--int input_bss1;
--int input_data1 = 1;
--const volatile int input_rodata1 = 11;
--
--int input_bss_weak __weak;
--/* these two definitions should win */
--int input_data_weak __weak = 10;
--const volatile int input_rodata_weak __weak = 100;
--
--extern int input_bss2;
--extern int input_data2;
--extern const int input_rodata2;
--
--int output_bss1;
--int output_data1;
--int output_rodata1;
--
--long output_sink1;
--
--static __noinline int get_bss_res(void)
--{
-- /* just make sure all the relocations work against .text as well */
-- return input_bss1 + input_bss2 + input_bss_weak;
--}
--
--SEC("raw_tp/sys_enter")
--int BPF_PROG(handler1)
--{
-- output_bss1 = get_bss_res();
-- output_data1 = input_data1 + input_data2 + input_data_weak;
-- output_rodata1 = input_rodata1 + input_rodata2 + input_rodata_weak;
--
-- /* make sure we actually use above special externs, otherwise compiler
-- * will optimize them out
-- */
-- output_sink1 = LINUX_KERNEL_VERSION
-- + CONFIG_BPF_SYSCALL
-- + (long)&bpf_link_fops;
-- return 0;
--}
--
--char LICENSE[] SEC("license") = "GPL";
-diff --git a/tools/testing/selftests/bpf/progs/linked_vars2.c b/tools/testing/selftests/bpf/progs/linked_vars2.c
-deleted file mode 100644
-index e4f5bd388a3c..000000000000
---- a/tools/testing/selftests/bpf/progs/linked_vars2.c
-+++ /dev/null
-@@ -1,55 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0
--/* Copyright (c) 2021 Facebook */
--
--#include "vmlinux.h"
--#include <bpf/bpf_helpers.h>
--#include <bpf/bpf_tracing.h>
--
--extern int LINUX_KERNEL_VERSION __kconfig;
--/* when an extern is defined as both strong and weak, resulting symbol will be strong */
--extern bool CONFIG_BPF_SYSCALL __kconfig;
--extern const void __start_BTF __ksym;
--
--int input_bss2;
--int input_data2 = 2;
--const volatile int input_rodata2 = 22;
--
--int input_bss_weak __weak;
--/* these two weak variables should lose */
--int input_data_weak __weak = 20;
--const volatile int input_rodata_weak __weak = 200;
--
--extern int input_bss1;
--extern int input_data1;
--extern const int input_rodata1;
--
--int output_bss2;
--int output_data2;
--int output_rodata2;
--
--int output_sink2;
--
--static __noinline int get_data_res(void)
--{
-- /* just make sure all the relocations work against .text as well */
-- return input_data1 + input_data2 + input_data_weak;
--}
--
--SEC("raw_tp/sys_enter")
--int BPF_PROG(handler2)
--{
-- output_bss2 = input_bss1 + input_bss2 + input_bss_weak;
-- output_data2 = get_data_res();
-- output_rodata2 = input_rodata1 + input_rodata2 + input_rodata_weak;
--
-- /* make sure we actually use above special externs, otherwise compiler
-- * will optimize them out
-- */
-- output_sink2 = LINUX_KERNEL_VERSION
-- + CONFIG_BPF_SYSCALL
-- + (long)&__start_BTF;
--
-- return 0;
--}
--
--char LICENSE[] SEC("license") = "GPL";
diff --git a/sources b/sources
index 82f56c203..235fed954 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (linux-5.15-rc3-240-g4de593fb965f.tar.xz) = c1d3118bc5e407eeed00a295cd181467fa38ecce34011e4dfdc9f17e10723f8902bd9f85c5a63cc13dee6d6fae1067842813217d80ed356641d34d54408376ff
-SHA512 (kernel-abi-stablelists-5.15.0-0.rc3.20211001git4de593fb965f.30.tar.bz2) = daa45925e5d59685c85dc8be00f707b8eb722b09cff6a2a086a9c42a501fbf3f6e83fdcb66c7fd4a06975205b2b7df778ce2a220cd63db75b2055d7900264f7c
-SHA512 (kernel-kabi-dw-5.15.0-0.rc3.20211001git4de593fb965f.30.tar.bz2) = f9855b89fccf94645d316823ab3a75b5d3a535468e9b962bb9b5478ad8e85e57d82569db2d935e2b33baa9a61a958d1dc10cc2e98a54a4e2d7d8c9c41a006378
+SHA512 (linux-5.15-rc4-15-g60a9483534ed.tar.xz) = e8cf02a6a337498068d5e00ccca66980539641b2351c13e891033a4b8e75669539c21118352c8573b383f4be83813f6a025e0f68f88fb2086965be875d60abe8
+SHA512 (kernel-abi-stablelists-5.15.0-0.rc4.20211006git60a9483534ed.34.tar.bz2) = 8a503f6fa498490c88a05d226ff32b77a35be3ca9d1995847988f54af1bb6078df3feb6ce56a1ae1deb02f33454ec42e4d2645c23d3f4f8f4b55c5be4b77ecde
+SHA512 (kernel-kabi-dw-5.15.0-0.rc4.20211006git60a9483534ed.34.tar.bz2) = 483950752b5f8883cb7e1185a2085fdff241a5d00f18f880b4e5fb7e9faad4ad2060cd70432605e93143b94a2d8dd89d268a011213ed2f035df7eea75d0a9940