diff --git a/Patchlist.changelog b/Patchlist.changelog index b2b74e77c..6124540a3 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,207 +1,105 @@ -https://gitlab.com/cki-project/kernel-ark/-/commit/b2b95f30b12c6b2931fbee60977ebae8dc0fe5a8 - b2b95f30b12c6b2931fbee60977ebae8dc0fe5a8 drm/i915/display/psr: Disable DC3CO when the PSR2 is used +https://gitlab.com/cki-project/kernel-ark/-/commit/f0c98d3a1045b6149d85b93b350a738d2a495d16 + f0c98d3a1045b6149d85b93b350a738d2a495d16 ACPI: PM: s2idle: Run both AMD and Microsoft methods if both are supported -https://gitlab.com/cki-project/kernel-ark/-/commit/478ca6c098cab88b5eaef871822b6a8ab7414235 - 478ca6c098cab88b5eaef871822b6a8ab7414235 bpf: Fix integer overflow involving bucket_size +https://gitlab.com/cki-project/kernel-ark/-/commit/e11905f1a6ea9f03a9f1a3b061a1a581536a2850 + e11905f1a6ea9f03a9f1a3b061a1a581536a2850 Revert "team: mark team driver as deprecated" -https://gitlab.com/cki-project/kernel-ark/-/commit/53c4c6b56f335cb97de78ede2e2f65c5ff90df2c - 53c4c6b56f335cb97de78ede2e2f65c5ff90df2c Fix up backport of Dell XPS 9710 quirk +https://gitlab.com/cki-project/kernel-ark/-/commit/927ba0b97c46e67b851bffe5a5b059e2c150e30b + 927ba0b97c46e67b851bffe5a5b059e2c150e30b iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha -https://gitlab.com/cki-project/kernel-ark/-/commit/5b1edaedb12682b832f53893cb9665eafa7f5f5b - 5b1edaedb12682b832f53893cb9665eafa7f5f5b ASoC: Intel: sof_sdw_max98373: remove useless inits +https://gitlab.com/cki-project/kernel-ark/-/commit/2c29a8ec49e688b5e1f176f8cdb7b9421e2dd63e + 2c29a8ec49e688b5e1f176f8cdb7b9421e2dd63e arm64: use common CONFIG_MAX_ZONEORDER for arm kernel -https://gitlab.com/cki-project/kernel-ark/-/commit/db2bd8b831d66f88d930d067545a2fcc93f5d166 - db2bd8b831d66f88d930d067545a2fcc93f5d166 ASoC: Intel: update sof_pcm512x quirks +https://gitlab.com/cki-project/kernel-ark/-/commit/a383c4f942e2ad84ad77aa1be014e3984f0b9d5a + a383c4f942e2ad84ad77aa1be014e3984f0b9d5a arm64: dts: rockchip: Disable CDN DP on Pinebook Pro -https://gitlab.com/cki-project/kernel-ark/-/commit/8e9c2b31fe9b0ee0a933c3e1944d0694406fda97 - 8e9c2b31fe9b0ee0a933c3e1944d0694406fda97 ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant +https://gitlab.com/cki-project/kernel-ark/-/commit/c67ec1e149814af06aa3eb360c36693f5f1e2c1e + c67ec1e149814af06aa3eb360c36693f5f1e2c1e arm64: dts: rockchip: Setup USB typec port as datarole on -https://gitlab.com/cki-project/kernel-ark/-/commit/4f3a5553af94326cbf4827c05adab57982bcf66f - 4f3a5553af94326cbf4827c05adab57982bcf66f ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 +https://gitlab.com/cki-project/kernel-ark/-/commit/d8ceedb7b31c9d99dfad6d1fa3c3631d0c3b36ef + d8ceedb7b31c9d99dfad6d1fa3c3631d0c3b36ef xfs: drop experimental warnings for bigtime and inobtcount -https://gitlab.com/cki-project/kernel-ark/-/commit/be7c50290184920f63b093f429488cbffff13d8e - be7c50290184920f63b093f429488cbffff13d8e drm/i915/dp: Use max params for older panels +https://gitlab.com/cki-project/kernel-ark/-/commit/eda5f508fa800d5bf58f89b2daccfe9660539b6d + eda5f508fa800d5bf58f89b2daccfe9660539b6d crypto: rng - Override drivers/char/random in FIPS mode -https://gitlab.com/cki-project/kernel-ark/-/commit/56f010473c692cbc06c14c0a58f606e691491ba4 - 56f010473c692cbc06c14c0a58f606e691491ba4 pinctrl: tigerlake: Fix GPIO mapping for newer version of software +https://gitlab.com/cki-project/kernel-ark/-/commit/82b8341b9ce582b15c668f9c6b0e91d8e3ab6e30 + 82b8341b9ce582b15c668f9c6b0e91d8e3ab6e30 random: Add hook to override device reads and getrandom(2) -https://gitlab.com/cki-project/kernel-ark/-/commit/558c3d6b47a25f6af07e3fc967e16cc66f694cb0 - 558c3d6b47a25f6af07e3fc967e16cc66f694cb0 powerpc/pseries: Fix regression while building external modules +https://gitlab.com/cki-project/kernel-ark/-/commit/65e9b4c30f3040d9ba164851b012fb911e4b3147 + 65e9b4c30f3040d9ba164851b012fb911e4b3147 bpf, selftests: Disable tests that need clang13 -https://gitlab.com/cki-project/kernel-ark/-/commit/29c0325a98bbdbfa3d569e858e221db9d3d7c217 - 29c0325a98bbdbfa3d569e858e221db9d3d7c217 drm/rockchip: remove existing generic drivers to take over the device +https://gitlab.com/cki-project/kernel-ark/-/commit/8bc427008360a6a2d403851717cd11051d5a17b6 + 8bc427008360a6a2d403851717cd11051d5a17b6 RHEL: disable io_uring support -https://gitlab.com/cki-project/kernel-ark/-/commit/e833c34e56563b0292493c62921e7132a16ceef0 - e833c34e56563b0292493c62921e7132a16ceef0 iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha +https://gitlab.com/cki-project/kernel-ark/-/commit/b45be7889fb6d73b23b355ffe391ce8760a7bfd9 + b45be7889fb6d73b23b355ffe391ce8760a7bfd9 team: mark team driver as deprecated -https://gitlab.com/cki-project/kernel-ark/-/commit/7c85609231b2dbb3ea6fa0d9ffb52e9177fd8212 - 7c85609231b2dbb3ea6fa0d9ffb52e9177fd8212 Revert "usb: renesas-xhci: Fix handling of unknown ROM state" +https://gitlab.com/cki-project/kernel-ark/-/commit/a101e602d7b7a99f0329ffa3005e9aaedca36896 + a101e602d7b7a99f0329ffa3005e9aaedca36896 mm/cma: mark CMA on x86_64 tech preview and print RHEL-specific infos -https://gitlab.com/cki-project/kernel-ark/-/commit/93766a4c0701e9f633071beb75237e11413dcebd - 93766a4c0701e9f633071beb75237e11413dcebd platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() +https://gitlab.com/cki-project/kernel-ark/-/commit/3541ba30d5a508547c983acfe4f558c17f4126bb + 3541ba30d5a508547c983acfe4f558c17f4126bb wireguard: disable in FIPS mode -https://gitlab.com/cki-project/kernel-ark/-/commit/21449ddd0db578d5dbf6eebe54e61e8f34254852 - 21449ddd0db578d5dbf6eebe54e61e8f34254852 platform/x86: amd-pmc: Use return code on suspend +https://gitlab.com/cki-project/kernel-ark/-/commit/db90e7a7b3c346ae458f78defce8da82a7abb21e + db90e7a7b3c346ae458f78defce8da82a7abb21e REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 -https://gitlab.com/cki-project/kernel-ark/-/commit/4619b73bd9e896fd14ffff3ff6752691ca49178f - 4619b73bd9e896fd14ffff3ff6752691ca49178f ACPI: PM: Only mark EC GPE for wakeup on Intel systems +https://gitlab.com/cki-project/kernel-ark/-/commit/1d728cdb15541dbd7f44947256956fe903cd1098 + 1d728cdb15541dbd7f44947256956fe903cd1098 KEYS: Make use of platform keyring for module signature verify -https://gitlab.com/cki-project/kernel-ark/-/commit/f5c0a0b90aa95f4bcd4fabfef12c858ce6cd2838 - f5c0a0b90aa95f4bcd4fabfef12c858ce6cd2838 platform/x86: amd-pmc: Add new acpi id for future PMC controllers +https://gitlab.com/cki-project/kernel-ark/-/commit/285e6d047914d3159c4c5b16bd269d8614ba608c + 285e6d047914d3159c4c5b16bd269d8614ba608c Input: rmi4 - remove the need for artificial IRQ in case of HID -https://gitlab.com/cki-project/kernel-ark/-/commit/e3161dd5dc44260f7b92bb9ad86feaef5b4bced3 - e3161dd5dc44260f7b92bb9ad86feaef5b4bced3 platform/x86: amd-pmc: Add support for ACPI ID AMDI0006 +https://gitlab.com/cki-project/kernel-ark/-/commit/2614d25eaaa61d641e5fd3c39fec343f57ddcc77 + 2614d25eaaa61d641e5fd3c39fec343f57ddcc77 ARM: tegra: usb no reset -https://gitlab.com/cki-project/kernel-ark/-/commit/916af868cb51f5b4beb69bc89e1c7ae5fedcd2c8 - 916af868cb51f5b4beb69bc89e1c7ae5fedcd2c8 amd-pmc: Add support for logging s0ix counters +https://gitlab.com/cki-project/kernel-ark/-/commit/df3c9535fb451e8c7c2402439f4bf8d36d12062d + df3c9535fb451e8c7c2402439f4bf8d36d12062d arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT -https://gitlab.com/cki-project/kernel-ark/-/commit/69469b9d5e3946ebc32641d839a259adfb102bd5 - 69469b9d5e3946ebc32641d839a259adfb102bd5 platform/x86: amd-pmc: Add support for logging SMU metrics +https://gitlab.com/cki-project/kernel-ark/-/commit/ad4fd7a9e06e9c92a03cbc91cfeb3969bd6bd631 + ad4fd7a9e06e9c92a03cbc91cfeb3969bd6bd631 Add option of 13 for FORCE_MAX_ZONEORDER -https://gitlab.com/cki-project/kernel-ark/-/commit/f247ee06dca20a0077f9ba40e45de203244076d1 - f247ee06dca20a0077f9ba40e45de203244076d1 platform/x86: amd-pmc: call dump registers only once +https://gitlab.com/cki-project/kernel-ark/-/commit/24ba2bb7c2fa976b43617118efe3adcd83393764 + 24ba2bb7c2fa976b43617118efe3adcd83393764 s390: Lock down the kernel when the IPL secure flag is set -https://gitlab.com/cki-project/kernel-ark/-/commit/4461aa443d6fdb8fe144e1c833f1f8041b04b4b0 - 4461aa443d6fdb8fe144e1c833f1f8041b04b4b0 platform/x86: amd-pmc: Fix SMU firmware reporting mechanism +https://gitlab.com/cki-project/kernel-ark/-/commit/8e8d5bc115659440bd170ff10a2afe0397ed0298 + 8e8d5bc115659440bd170ff10a2afe0397ed0298 efi: Lock down the kernel if booted in secure boot mode -https://gitlab.com/cki-project/kernel-ark/-/commit/ef4982bb5ef41c72037729525325eb7afaaf5a59 - ef4982bb5ef41c72037729525325eb7afaaf5a59 platform/x86: amd-pmc: Fix command completion code +https://gitlab.com/cki-project/kernel-ark/-/commit/5fa3e71ead70441cdf224fd7a72e2087a3045c7b + 5fa3e71ead70441cdf224fd7a72e2087a3045c7b efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode -https://gitlab.com/cki-project/kernel-ark/-/commit/3764cadafee393f09d9c10d5201de82de183183e - 3764cadafee393f09d9c10d5201de82de183183e ACPI: PM: Adjust behavior for field problems on AMD systems +https://gitlab.com/cki-project/kernel-ark/-/commit/0f76f2c9530c175fe0d95e040fab20a3a4cbc367 + 0f76f2c9530c175fe0d95e040fab20a3a4cbc367 security: lockdown: expose a hook to lock the kernel down -https://gitlab.com/cki-project/kernel-ark/-/commit/7ea3b2567dae3b32f62308051094e9cf54bdb8fa - 7ea3b2567dae3b32f62308051094e9cf54bdb8fa ACPI: PM: s2idle: Add support for new Microsoft UUID +https://gitlab.com/cki-project/kernel-ark/-/commit/151d02298a1f4c0e17f38535b25c7211b067b124 + 151d02298a1f4c0e17f38535b25c7211b067b124 Make get_cert_list() use efi_status_to_str() to print error messages. -https://gitlab.com/cki-project/kernel-ark/-/commit/89872477be26440180dd7cc30c7c7cbdfda175db - 89872477be26440180dd7cc30c7c7cbdfda175db ACPI: PM: s2idle: Add support for multiple func mask +https://gitlab.com/cki-project/kernel-ark/-/commit/0669b2ab2965ca99196f63f1158af3bd6a2b48c3 + 0669b2ab2965ca99196f63f1158af3bd6a2b48c3 Add efi_status_to_str() and rework efi_status_to_err(). -https://gitlab.com/cki-project/kernel-ark/-/commit/f231bad21add99d33483a17e28fde17b6b66f116 - f231bad21add99d33483a17e28fde17b6b66f116 ACPI: PM: s2idle: Refactor common code +https://gitlab.com/cki-project/kernel-ark/-/commit/d499277c4eb863d97520cd54836da645609a9f5c + d499277c4eb863d97520cd54836da645609a9f5c arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT -https://gitlab.com/cki-project/kernel-ark/-/commit/9c6dce4a57b9f141c3b3c0f2a16db0ffc08b0f76 - 9c6dce4a57b9f141c3b3c0f2a16db0ffc08b0f76 ACPI: PM: s2idle: Use correct revision id +https://gitlab.com/cki-project/kernel-ark/-/commit/5f106e91008bacd5ffcf1da196d07d2c18edb7fc + 5f106e91008bacd5ffcf1da196d07d2c18edb7fc iommu/arm-smmu: workaround DMA mode issues -https://gitlab.com/cki-project/kernel-ark/-/commit/639c93bf40a55f2b2a2fd330854db91c00a68215 - 639c93bf40a55f2b2a2fd330854db91c00a68215 ACPI: PM: s2idle: Add missing LPS0 functions for AMD +https://gitlab.com/cki-project/kernel-ark/-/commit/674ecaf4fd367edc7b7ef12954e50ab58ac8fcc9 + 674ecaf4fd367edc7b7ef12954e50ab58ac8fcc9 ipmi: do not configure ipmi for HPE m400 -https://gitlab.com/cki-project/kernel-ark/-/commit/ce265e8b0015f8283d5a80d5238e83daded344a6 - ce265e8b0015f8283d5a80d5238e83daded344a6 ACPI: Add quirks for AMD Renoir/Lucienne CPUs to force the D3 hint +https://gitlab.com/cki-project/kernel-ark/-/commit/be603873c33fb8e1c55cdba8bc66841d2ac092fa + be603873c33fb8e1c55cdba8bc66841d2ac092fa ahci: thunderx2: Fix for errata that affects stop engine -https://gitlab.com/cki-project/kernel-ark/-/commit/87350d62d6fd0ec4c73a864f6528cbba973d7bc8 - 87350d62d6fd0ec4c73a864f6528cbba973d7bc8 ACPI: Check StorageD3Enable _DSD property in ACPI code +https://gitlab.com/cki-project/kernel-ark/-/commit/d72ea76b45bf1fc6a2f84c947ff06069d773ed8b + d72ea76b45bf1fc6a2f84c947ff06069d773ed8b Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon -https://gitlab.com/cki-project/kernel-ark/-/commit/78f3f35f89ac19ff2f336a0ece7ef3d3ff71ac22 - 78f3f35f89ac19ff2f336a0ece7ef3d3ff71ac22 nvme-pci: look for StorageD3Enable on companion ACPI device instead +https://gitlab.com/cki-project/kernel-ark/-/commit/e06adab2fb29443c34fd18f4cff0f150e47455ad + e06adab2fb29443c34fd18f4cff0f150e47455ad acpi: prefer booting with ACPI over DTS -https://gitlab.com/cki-project/kernel-ark/-/commit/0a243d877fd0326498ac0030543d64b390986eb2 - 0a243d877fd0326498ac0030543d64b390986eb2 ACPI: processor idle: Fix up C-state latency if not ordered +https://gitlab.com/cki-project/kernel-ark/-/commit/b118619ff9f1867774db0def76ab14e5d1ca0a00 + b118619ff9f1867774db0def76ab14e5d1ca0a00 aarch64: acpi scan: Fix regression related to X-Gene UARTs -https://gitlab.com/cki-project/kernel-ark/-/commit/e5bd8b07661bdad460ab096bb87095d9318ea119 - e5bd8b07661bdad460ab096bb87095d9318ea119 Revert "drm/rockchip: remove existing generic drivers to take over the device" +https://gitlab.com/cki-project/kernel-ark/-/commit/043f75aff143edb6599e58511f4606df5a37e8a3 + 043f75aff143edb6599e58511f4606df5a37e8a3 ACPI / irq: Workaround firmware issue on X-Gene based m400 -https://gitlab.com/cki-project/kernel-ark/-/commit/51ceb5f3efa65385feb712687c5749f9ce8b283c - 51ceb5f3efa65385feb712687c5749f9ce8b283c tpm_tis_spi: add missing SPI device ID entries - -https://gitlab.com/cki-project/kernel-ark/-/commit/d1b159f0d298977cb2feac785c4274022f5ce960 - d1b159f0d298977cb2feac785c4274022f5ce960 drm/rockchip: remove existing generic drivers to take over the device - -https://gitlab.com/cki-project/kernel-ark/-/commit/4db44a6a812dcde9dc3fe981402019aa4785b5b7 - 4db44a6a812dcde9dc3fe981402019aa4785b5b7 arm64: dts: rockchip: disable USB type-c DisplayPort - -https://gitlab.com/cki-project/kernel-ark/-/commit/9e2ed248fc44ab379a97547ae9dfa1592add81f2 - 9e2ed248fc44ab379a97547ae9dfa1592add81f2 can: bcm: delay release of struct bcm_op after synchronize_rcu - -https://gitlab.com/cki-project/kernel-ark/-/commit/6c2cf04cbec9cd04d595c2467b6c9f5d3b408667 - 6c2cf04cbec9cd04d595c2467b6c9f5d3b408667 bpf, selftests: Disable tests that need clang13 - -https://gitlab.com/cki-project/kernel-ark/-/commit/25268f11b4a9b70af9cdbfd9dbadd2be1981deee - 25268f11b4a9b70af9cdbfd9dbadd2be1981deee PCI: rockchip: Register IRQs just before pci_host_probe() - -https://gitlab.com/cki-project/kernel-ark/-/commit/4459c104a420e90ce5830764bb1ebe0f061c348f - 4459c104a420e90ce5830764bb1ebe0f061c348f arm64: dts: rockchip: Update PCI host bridge window to 32-bit address memory - -https://gitlab.com/cki-project/kernel-ark/-/commit/4eac47a15e63ac5aa17d6438cb614b9b151c28d8 - 4eac47a15e63ac5aa17d6438cb614b9b151c28d8 RHEL: disable io_uring support - -https://gitlab.com/cki-project/kernel-ark/-/commit/2a2804fbd89e7a9096987e4c4df49d322b504f15 - 2a2804fbd89e7a9096987e4c4df49d322b504f15 wireguard: disable in FIPS mode - -https://gitlab.com/cki-project/kernel-ark/-/commit/254ea054f1b3896cec62bf148ca31bca2378d59c - 254ea054f1b3896cec62bf148ca31bca2378d59c REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70 - -https://gitlab.com/cki-project/kernel-ark/-/commit/fd2602262903ec85eec757248d0a5181a03fc2a1 - fd2602262903ec85eec757248d0a5181a03fc2a1 KEYS: Make use of platform keyring for module signature verify - -https://gitlab.com/cki-project/kernel-ark/-/commit/1ae9177fff905308e0c41d65445272a9a09931aa - 1ae9177fff905308e0c41d65445272a9a09931aa Drop that for now - -https://gitlab.com/cki-project/kernel-ark/-/commit/c5d0ff5d210f809b02f5f2593e9e16e4c52f96e1 - c5d0ff5d210f809b02f5f2593e9e16e4c52f96e1 Input: rmi4 - remove the need for artificial IRQ in case of HID - -https://gitlab.com/cki-project/kernel-ark/-/commit/3e69ddc10334d4910a1b73df0765132f28e09a77 - 3e69ddc10334d4910a1b73df0765132f28e09a77 ARM: tegra: usb no reset - -https://gitlab.com/cki-project/kernel-ark/-/commit/3e1f44dac6eef9272a151aea18aa8072da086742 - 3e1f44dac6eef9272a151aea18aa8072da086742 arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT - -https://gitlab.com/cki-project/kernel-ark/-/commit/0b7eeb857f54f99d45a20dd219591c8063c81270 - 0b7eeb857f54f99d45a20dd219591c8063c81270 Add option of 13 for FORCE_MAX_ZONEORDER - -https://gitlab.com/cki-project/kernel-ark/-/commit/84a4a54060ae4fe0a8df0520f86e6526576669ef - 84a4a54060ae4fe0a8df0520f86e6526576669ef s390: Lock down the kernel when the IPL secure flag is set - -https://gitlab.com/cki-project/kernel-ark/-/commit/b2facd60ebdf0ffb2ed47aa325b3c89093ae2a09 - b2facd60ebdf0ffb2ed47aa325b3c89093ae2a09 efi: Lock down the kernel if booted in secure boot mode - -https://gitlab.com/cki-project/kernel-ark/-/commit/1dc8229364e421869daf5067ee863a65b9f71c99 - 1dc8229364e421869daf5067ee863a65b9f71c99 efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode - -https://gitlab.com/cki-project/kernel-ark/-/commit/ce3c1b5ee206b3653ddd52901dbe0d6f2284fec8 - ce3c1b5ee206b3653ddd52901dbe0d6f2284fec8 security: lockdown: expose a hook to lock the kernel down - -https://gitlab.com/cki-project/kernel-ark/-/commit/a4500a47c895224ec910265c522ff67611831cd4 - a4500a47c895224ec910265c522ff67611831cd4 Make get_cert_list() use efi_status_to_str() to print error messages. - -https://gitlab.com/cki-project/kernel-ark/-/commit/25b0ae193be5842dfa2f812a1780b6e9a0760881 - 25b0ae193be5842dfa2f812a1780b6e9a0760881 Add efi_status_to_str() and rework efi_status_to_err(). - -https://gitlab.com/cki-project/kernel-ark/-/commit/e27c905120008d525598bf4cd7951710afc94be5 - e27c905120008d525598bf4cd7951710afc94be5 arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT - -https://gitlab.com/cki-project/kernel-ark/-/commit/508ea6d529b15c94a237521be42d0aad3dcd2e1e - 508ea6d529b15c94a237521be42d0aad3dcd2e1e iommu/arm-smmu: workaround DMA mode issues - -https://gitlab.com/cki-project/kernel-ark/-/commit/ef2a570b8247197efb80ce736399609a79a87242 - ef2a570b8247197efb80ce736399609a79a87242 ipmi: do not configure ipmi for HPE m400 - -https://gitlab.com/cki-project/kernel-ark/-/commit/7afef574e664fcba8a056eb920ae67b1c1138a22 - 7afef574e664fcba8a056eb920ae67b1c1138a22 scsi: smartpqi: add inspur advantech ids - -https://gitlab.com/cki-project/kernel-ark/-/commit/0e3607a1bf46d0973580a8e2ae73983125b2ad6d - 0e3607a1bf46d0973580a8e2ae73983125b2ad6d ahci: thunderx2: Fix for errata that affects stop engine - -https://gitlab.com/cki-project/kernel-ark/-/commit/27c7926aef2579ffec2d225e268aa20044d40929 - 27c7926aef2579ffec2d225e268aa20044d40929 Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon - -https://gitlab.com/cki-project/kernel-ark/-/commit/864c036fe1aecbe34d956f8fad483fc58e0219b7 - 864c036fe1aecbe34d956f8fad483fc58e0219b7 kdump: fix a grammar issue in a kernel message - -https://gitlab.com/cki-project/kernel-ark/-/commit/0ec4aea2b0f7ad2ebfb74e4e39b474f59bc89df8 - 0ec4aea2b0f7ad2ebfb74e4e39b474f59bc89df8 kdump: add support for crashkernel=auto - -https://gitlab.com/cki-project/kernel-ark/-/commit/a351d29c16d5c506f81c7b91b1d40cbceabc7565 - a351d29c16d5c506f81c7b91b1d40cbceabc7565 kdump: round up the total memory size to 128M for crashkernel reservation - -https://gitlab.com/cki-project/kernel-ark/-/commit/0888c9ec5ea986623d7cd5c8d1f75f979d105382 - 0888c9ec5ea986623d7cd5c8d1f75f979d105382 acpi: prefer booting with ACPI over DTS - -https://gitlab.com/cki-project/kernel-ark/-/commit/ea01d1e6172c5e3fcc02079e7d3a01baeef8eb94 - ea01d1e6172c5e3fcc02079e7d3a01baeef8eb94 aarch64: acpi scan: Fix regression related to X-Gene UARTs - -https://gitlab.com/cki-project/kernel-ark/-/commit/11e6c1a188324220e51c70ef162847a3809f3a4c - 11e6c1a188324220e51c70ef162847a3809f3a4c ACPI / irq: Workaround firmware issue on X-Gene based m400 - -https://gitlab.com/cki-project/kernel-ark/-/commit/e21f02d4e317a221a806abf84436cc0bc5a6c927 - e21f02d4e317a221a806abf84436cc0bc5a6c927 ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support +https://gitlab.com/cki-project/kernel-ark/-/commit/cc63c6bdede927093d41916a61697349db0d02eb + cc63c6bdede927093d41916a61697349db0d02eb ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support diff --git a/filter-aarch64.sh.fedora b/filter-aarch64.sh.fedora index 0bbc568b4..6a5065c14 100644 --- a/filter-aarch64.sh.fedora +++ b/filter-aarch64.sh.fedora @@ -15,4 +15,4 @@ ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel pl111 radeon rockchip tegra sun4i tiny vc4" -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr rnbd-client rnbd-server mlx5_vdpa dfl-emif octeontx2-cpt octeontx2-cptvf spi-altera-dfl" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr rnbd-client rnbd-server mlx5_vdpa dfl-emif octeontx2-cpt octeontx2-cptvf spi-altera-dfl rvu_cptpf rvu_cptvf regmap-sdw regmap-sdw-mbq" diff --git a/filter-modules.sh.fedora b/filter-modules.sh.fedora index 78244ce83..678825bfa 100755 --- a/filter-modules.sh.fedora +++ b/filter-modules.sh.fedora @@ -39,7 +39,7 @@ netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dsa ieee802154 l2t drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon" -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl" # Grab the arch-specific filter list overrides source ./filter-$2.sh @@ -146,6 +146,7 @@ done # Just kill sound. filter_dir $1 kernel/sound +filter_dir $1 kernel/drivers/soundwire # Now go through and filter any single .ko files that might have deps on the # things we filtered above diff --git a/filter-modules.sh.rhel b/filter-modules.sh.rhel index 63e501d67..c4a8e594e 100755 --- a/filter-modules.sh.rhel +++ b/filter-modules.sh.rhel @@ -37,7 +37,7 @@ netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee80215 drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via " -singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism hid-asus" +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus" # Grab the arch-specific filter list overrides source ./filter-$2.sh @@ -138,6 +138,7 @@ done # Just kill sound. filter_dir $1 kernel/sound +filter_dir $1 kernel/drivers/soundwire # Now go through and filter any single .ko files that might have deps on the # things we filtered above diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 000000000..87a09ed52 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,9 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: cki.tier1-aarch64.functional} + - !PassingTestCaseRule {test_case_name: cki.tier1-ppc64le.functional} + - !PassingTestCaseRule {test_case_name: cki.tier1-s390x.functional} + - !PassingTestCaseRule {test_case_name: cki.tier1-x86_64.functional} diff --git a/generate_crashkernel_default.sh b/generate_crashkernel_default.sh new file mode 100755 index 000000000..46d454607 --- /dev/null +++ b/generate_crashkernel_default.sh @@ -0,0 +1,25 @@ +#!/bin/bash +kernelver=$1 && shift +arch=$1 && shift +rootfs=$1 && shift + +output="${rootfs}/lib/modules/${kernelver}/crashkernel.default" + +case $arch in +x86_64|s390*) + ck_cmdline="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M" + ;; +arm64|aarch64) + ck_cmdline="crashkernel=2G-:448M" + ;; +powerpc|ppc64*) + ck_cmdline="crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G" + ;; +*) + ck_cmdline="" + ;; +esac + +cat > "$output" <-devel-matched package that +# requires both the core and devel packages locked on the same version. +# %%kernel_devel_matched_package [-m] +# +%define kernel_devel_matched_package(m) \ +%package %{?1:%{1}-}devel-matched\ +Summary: Meta package to install matching core and devel packages for a given %{?2:%{2} }kernel\ +Requires: kernel%{?1:-%{1}}-devel = %{version}-%{release}\ +Requires: kernel%{?1:-%{1}}-core = %{version}-%{release}\ +%description %{?1:%{1}-}devel-matched\ +This meta package is used to install matching core and devel packages for a given %{?2:%{2} }kernel.\ +%{nil} + # # kernel--ipaclones-internal package # @@ -1203,6 +1245,7 @@ Requires: kernel-core-uname-r = %{KVERREL}\ %{expand:%%kernel_meta_package %{?1:%{1}}}\ %endif\ %{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ +%{expand:%%kernel_devel_matched_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ %{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ %{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}} %{-m:%{-m}}}\ %if %{-m:0}%{!-m:1}\ @@ -1315,15 +1358,15 @@ ApplyOptionalPatch() fi } -%setup -q -n kernel-5.13.19 -c -mv linux-5.13.19 linux-%{KVERREL} +%setup -q -n kernel-5.14.7 -c +mv linux-5.14.7 linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . %if !%{nopatches} -ApplyOptionalPatch patch-%{stableversion}-redhat.patch +ApplyOptionalPatch patch-%{patchversion}-redhat.patch %endif ApplyOptionalPatch linux-kernel-test.patch @@ -1392,12 +1435,23 @@ do done %endif +%if %{with clang_lto} +for i in *aarch64*.config *x86_64*.config; do + sed -i 's/# CONFIG_LTO_CLANG_THIN is not set/CONFIG_LTO_CLANG_THIN=y/' $i + sed -i 's/CONFIG_LTO_NONE=y/# CONFIG_LTO_NONE is not set/' $i +done +%endif + # Add DUP and kpatch certificates to system trusted keys for RHEL %if 0%{?rhel} %if %{signkernel}%{signmodules} openssl x509 -inform der -in %{SOURCE100} -out rheldup3.pem openssl x509 -inform der -in %{SOURCE101} -out rhelkpatch1.pem cat rheldup3.pem rhelkpatch1.pem > ../certs/rhel.pem +%ifarch s390x ppc64le +openssl x509 -inform der -in %{secureboot_ca_0} -out secureboot.pem +cat secureboot.pem >> ../certs/rhel.pem +%endif for i in *.config; do sed -i 's@CONFIG_SYSTEM_TRUSTED_KEYS=""@CONFIG_SYSTEM_TRUSTED_KEYS="certs/rhel.pem"@' $i done @@ -1409,6 +1463,11 @@ OPTS="" %if %{with_configchecks} OPTS="$OPTS -w -n -c" %endif +%if %{with clang_lto} +for opt in %{clang_make_opts}; do + OPTS="$OPTS -m $opt" +done +%endif ./process_configs.sh $OPTS kernel %{rpmversion} cp %{SOURCE56} . @@ -1705,13 +1764,13 @@ BuildKernel() { mkdir -p $RPM_BUILD_ROOT/kabi-dwarf tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf - mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/whitelists - tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/whitelists + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists + tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists echo "**** GENERATING DWARF-based kABI baseline dataset ****" chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \ - "$RPM_BUILD_ROOT/kabi-dwarf/whitelists/kabi-current/kabi_whitelist_%{_target_cpu}" \ + "$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \ "$(pwd)" \ "$RPM_BUILD_ROOT/kabidw-base/%{_target_cpu}${Variant:+.${Variant}}" || : @@ -1724,13 +1783,13 @@ BuildKernel() { mkdir -p $RPM_BUILD_ROOT/kabi-dwarf tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf if [ -d "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}" ]; then - mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/whitelists - tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/whitelists + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/stablelists + tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/stablelists echo "**** GENERATING DWARF-based kABI dataset ****" chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \ - "$RPM_BUILD_ROOT/kabi-dwarf/whitelists/kabi-current/kabi_whitelist_%{_target_cpu}" \ + "$RPM_BUILD_ROOT/kabi-dwarf/stablelists/kabi-current/kabi_stablelist_%{_target_cpu}" \ "$(pwd)" \ "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Variant:+.${Variant}}.tmp" || : @@ -1832,8 +1891,6 @@ BuildKernel() { %ifarch i686 x86_64 # files for 'make prepare' to succeed with kernel-devel cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - cp -a --parents arch/x86/entry/syscalls/syscalltbl.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - cp -a --parents arch/x86/entry/syscalls/syscallhdr.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs_32.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs_64.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ @@ -1848,6 +1905,9 @@ BuildKernel() { cp -a --parents arch/x86/boot/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/boot/ctype.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents scripts/syscalltbl.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents scripts/syscallhdr.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents tools/arch/x86/include/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/arch/x86/include/uapi/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a --parents tools/objtool/arch/x86/lib $RPM_BUILD_ROOT/lib/modules/$KernelVer/build @@ -1919,10 +1979,16 @@ BuildKernel() { ( find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name '*.ko' | xargs /sbin/modinfo -l | \ grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' ) && exit 1 - # remove files that will be auto generated by depmod at rpm -i time - pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/ - rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep} - popd + remove_depmod_files() + { + # remove files that will be auto generated by depmod at rpm -i time + pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/ + rm -f modules.{alias,alias.bin,builtin.alias.bin,builtin.bin} \ + modules.{dep,dep.bin,devname,softdep,symbols,symbols.bin} + popd + } + + remove_depmod_files # Identify modules in the kernel-modules-extras package %{SOURCE17} $RPM_BUILD_ROOT lib/modules/$KernelVer $RPM_SOURCE_DIR/mod-extra.list @@ -1974,10 +2040,7 @@ BuildKernel() { touch lib/modules/$KernelVer/modules.builtin fi - # remove files that will be auto generated by depmod at rpm -i time - pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/ - rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep} - popd + remove_depmod_files # Go back and find all of the various directories in the tree. We use this # for the dir lists in kernel-core @@ -2030,6 +2093,9 @@ BuildKernel() { # prune junk from kernel-devel find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete + # Generate crashkernel default config + %{SOURCE57} "$KernelVer" "$Arch" "$RPM_BUILD_ROOT" + # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer %ifarch x86_64 aarch64 @@ -2142,12 +2208,10 @@ pushd tools/thermal/tmon/ %{tools_make} popd pushd tools/iio/ -# Needs to be fixed to pick up CFLAGS -%{__make} +%{tools_make} popd pushd tools/gpio/ -# Needs to be fixed to pick up CFLAGS -%{__make} +%{tools_make} popd # build VM tools pushd tools/vm/ @@ -2172,7 +2236,7 @@ popd # in the source tree. We installed them previously to $RPM_BUILD_ROOT/usr # but there's no way to tell the Makefile to take them from there. %{make} %{?_smp_mflags} headers_install -%{make} %{?_smp_mflags} ARCH=$Arch V=1 samples/bpf/ +%{make} %{?_smp_mflags} ARCH=$Arch V=1 M=samples/bpf/ # Prevent bpf selftests to build bpftool repeatedly: export BPFTOOL=$(pwd)/tools/bpf/bpftool/bpftool @@ -2288,7 +2352,7 @@ find Documentation -type d | xargs chmod u+w cd linux-%{KVERREL} %if %{with_doc} -docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion} +docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease} # copy the source over mkdir -p $docdir @@ -2337,14 +2401,14 @@ done rm -rf $RPM_BUILD_ROOT/usr/tmp-headers %endif -%if %{with_kernel_abi_whitelists} +%if %{with_kernel_abi_stablelists} # kabi directory INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/ mkdir -p $INSTALL_KABI_PATH # install kabi releases directories tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH -# with_kernel_abi_whitelists +# with_kernel_abi_stablelists %endif %if %{with_perf} @@ -2367,6 +2431,12 @@ rm -rf %{buildroot}/usr/lib/perf/include # perf man pages (note: implicit rpm magic compresses them later) mkdir -p %{buildroot}/%{_mandir}/man1 %{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man + +# remove any tracevent files, eg. its plugins still gets built and installed, +# even if we build against system's libtracevent during perf build (by setting +# LIBTRACEEVENT_DYNAMIC=1 above in perf_make macro). Those files should already +# ship with libtraceevent package. +rm -rf %{buildroot}%{_libdir}/traceevent %endif %if %{with_tools} @@ -2402,10 +2472,10 @@ pushd tools/thermal/tmon %{tools_make} INSTALL_ROOT=%{buildroot} install popd pushd tools/iio -%{__make} DESTDIR=%{buildroot} install +%{tools_make} DESTDIR=%{buildroot} install popd pushd tools/gpio -%{__make} DESTDIR=%{buildroot} install +%{tools_make} DESTDIR=%{buildroot} install popd install -m644 -D %{SOURCE2002} %{buildroot}%{_sysconfdir}/logrotate.d/kvm_stat pushd tools/kvm/kvm_stat @@ -2528,7 +2598,7 @@ if [ "$HARDLINK" != "no" -a -x /usr/bin/hardlink -a ! -e /run/ostree-booted ] \ then\ (cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\ /usr/bin/find . -type f | while read f; do\ - hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f\ + hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f > /dev/null\ done)\ fi\ %{nil} @@ -2656,8 +2726,8 @@ fi /usr/*-linux-gnu/include/* %endif -%if %{with_kernel_abi_whitelists} -%files -n kernel-abi-whitelists +%if %{with_kernel_abi_stablelists} +%files -n kernel-abi-stablelists /lib/modules/kabi-* %endif @@ -2673,16 +2743,15 @@ fi %if %{with_doc} %files doc %defattr(-,root,root) -%{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation/* -%dir %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation -%dir %{_datadir}/doc/kernel-doc-%{rpmversion} +%{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease}/Documentation/* +%dir %{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease}/Documentation +%dir %{_datadir}/doc/kernel-doc-%{rpmversion}-%{pkgrelease} %endif %if %{with_perf} %files -n perf %{_bindir}/perf %{_libdir}/libperf-jvmti.so -%exclude %{_libdir}/traceevent %dir %{_libexecdir}/perf-core %{_libexecdir}/perf-core/* %{_datadir}/perf-core/* @@ -2819,13 +2888,13 @@ fi /lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \ %ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \ %endif\ -%attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\ -%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\ +%attr(0600, root, root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\ +%ghost %attr(0600, root, root) /boot/System.map-%{KVERREL}%{?3:+%{3}}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.gz\ /lib/modules/%{KVERREL}%{?3:+%{3}}/config\ -%ghost /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\ -%ghost /boot/config-%{KVERREL}%{?3:+%{3}}\ -%ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\ +%ghost %attr(0600, root, root) /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\ +%ghost %attr(0600, root, root) /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\ +%ghost %attr(0644, root, root) /boot/config-%{KVERREL}%{?3:+%{3}}\ %dir /lib/modules\ %dir /lib/modules/%{KVERREL}%{?3:+%{3}}\ %dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\ @@ -2833,6 +2902,7 @@ fi /lib/modules/%{KVERREL}%{?3:+%{3}}/source\ /lib/modules/%{KVERREL}%{?3:+%{3}}/updates\ /lib/modules/%{KVERREL}%{?3:+%{3}}/weak-updates\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/crashkernel.default\ %{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}\ %if %{1}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\ @@ -2842,6 +2912,7 @@ fi %{expand:%%files %{?3:%{3}-}devel}\ %defverify(not mtime)\ /usr/src/kernels/%{KVERREL}%{?3:+%{3}}\ +%{expand:%%files %{?3:%{3}-}devel-matched}\ %{expand:%%files -f kernel-%{?3:%{3}-}modules-extra.list %{?3:%{3}-}modules-extra}\ %config(noreplace) /etc/modprobe.d/*-blacklist.conf\ %{expand:%%files -f kernel-%{?3:%{3}-}modules-internal.list %{?3:%{3}-}modules-internal}\ @@ -2858,10 +2929,11 @@ fi %kernel_variant_files %{_use_vdso} %{with_up} %kernel_variant_files %{_use_vdso} %{with_debug} debug -%if !%{debugbuildsenabled} +%if %{with_debug_meta} %files debug %files debug-core %files debug-devel +%files debug-devel-matched %files debug-modules %files debug-modules-extra %endif @@ -2886,403 +2958,160 @@ fi # # %changelog -* Sat Sep 18 2021 Justin M. Forbes [5.13.19-100] -- kernel-5.13.19-0 (Justin M. Forbes) -- drm/i915/display/psr: Disable DC3CO when the PSR2 is used (Gwan-gyeong Mun) +* Wed Sep 22 2021 Justin M. Forbes [5.14.7-0] +- Add Fedora 34 and 33 to release_targets (Justin M. Forbes) +- Strip [redhat] entries from changelog (Justin M. Forbes) -* Thu Sep 16 2021 Justin M. Forbes [5.13.18-0] -- kernel-5.13.17-0 (Justin M. Forbes) -- kernel-5.13.16-0 (Justin M. Forbes) -- kernel-5.13.15-0 (Justin M. Forbes) -- kernel-5.13.14-0 (Justin M. Forbes) -- kernel-5.13.13-0 (Justin M. Forbes) -- kernel-5.13.12-0 (Justin M. Forbes) -- kernel-5.13.11-0 (Justin M. Forbes) -- bpf: Fix integer overflow involving bucket_size (Tatsuhiko Yasumatsu) -- kernel-5.13.10-0 (Justin M. Forbes) -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) +* Sat Sep 18 2021 Justin M. Forbes [5.14.6-0] +- Fix changelog generation (Justin M. Forbes) +- Clean up changelog (Justin M. Forbes) +- ACPI: PM: s2idle: Run both AMD and Microsoft methods if both are supported (Mario Limonciello) +- Don't tag a release as [redhat] (Justin M. Forbes) +- Fixes for changelog that I think will help with the next stable bump (Justin M. Forbes) + +* Thu Sep 16 2021 Justin M. Forbes [5.14.5-0] +- kernel-5.14.5-0 (Justin M. Forbes) + +* Wed Sep 15 2021 Justin M. Forbes [5.14.4-0] +- kernel-5.14.4-0 (Justin M. Forbes) +- Build kernel-doc for Fedora (Justin M. Forbes) + +* Wed Sep 08 2021 Justin M. Forbes [5.14.3-0] +- kernel-5.14.3-0 (Justin M. Forbes) +- Revert "team: mark team driver as deprecated" (Justin M. Forbes) + +* Fri Sep 03 2021 Justin M. Forbes [5.14.2-0] +- kernel-5.14.2-0 (Justin M. Forbes) +- Setup for building fedora-5.14 branch (Justin M. Forbes) + +* Mon Aug 30 2021 Justin M. Forbes [5.14.1-0] +- kernel-5.14.1-0 (Justin M. Forbes) +- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) +- arm64: use common CONFIG_MAX_ZONEORDER for arm kernel (Mark Salter) +- Create Makefile.variables for a single point of configuration change (Justin M. Forbes) +- Clean up changelog (Justin M. Forbes) +- ACPI: PM: s2idle: Run both AMD and Microsoft methods if both are supported (Mario Limonciello) +- Don't tag a release as [redhat] (Justin M. Forbes) +- Fixes for changelog that I think will help with the next stable bump (Justin M. Forbes) +- Build kernel-doc for Fedora (Justin M. Forbes) +- Revert "team: mark team driver as deprecated" (Justin M. Forbes) +- Setup for building fedora-5.14 branch (Justin M. Forbes) +- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) +- arm64: use common CONFIG_MAX_ZONEORDER for arm kernel (Mark Salter) +- Create Makefile.variables for a single point of configuration change (Justin M. Forbes) +- rpmspec: drop traceevent files instead of just excluding them from files list (Herton R. Krzesinski) [1967640] +- redhat/config: Enablement of CONFIG_PAPR_SCM for PowerPC (Gustavo Walbon) [1962936] +- Attempt to fix Intel PMT code (David Arcari) +- CI: Enable realtime branch testing (Veronika Kabatova) +- CI: Enable realtime checks for c9s and RHEL9 (Veronika Kabatova) +- ark: wireless: enable all rtw88 pcie wirless variants (Peter Robinson) +- wireless: rtw88: move debug options to common/debug (Peter Robinson) +- fedora: minor PTP clock driver cleanups (Peter Robinson) +- common: x86: enable VMware PTP support on ark (Peter Robinson) +- arm64: dts: rockchip: Disable CDN DP on Pinebook Pro (Matthias Brugger) +- arm64: dts: rockchip: Setup USB typec port as datarole on (Dan Johansen) +- xfs: drop experimental warnings for bigtime and inobtcount (Bill O'Donnell) [1995321] +- Disable liquidio driver on ark/rhel (Herton R. Krzesinski) [1993393] +- More Fedora config updates (Justin M. Forbes) +- Fedora config updates for 5.14 (Justin M. Forbes) +- CI: Rename ARK CI pipeline type (Veronika Kabatova) +- CI: Finish up c9s config (Veronika Kabatova) +- CI: Update ppc64le config (Veronika Kabatova) +- CI: use more templates (Veronika Kabatova) +- Filter updates for aarch64 (Justin M. Forbes) +- increase CONFIG_NODES_SHIFT for aarch64 (Chris von Recklinghausen) [1890304] +- redhat: configs: Enable CONFIG_WIRELESS_HOTKEY (Hans de Goede) +- redhat/configs: Update CONFIG_NVRAM (Desnes A. Nunes do Rosario) [1988254] +- common: serial: build in SERIAL_8250_LPSS for x86 (Peter Robinson) +- powerpc: enable CONFIG_FUNCTION_PROFILER (Diego Domingos) [1831065] +- crypto: rng - Override drivers/char/random in FIPS mode (Herbert Xu) +- random: Add hook to override device reads and getrandom(2) (Herbert Xu) +- redhat/configs: Disable Soft-RoCE driver (Kamal Heib) +- redhat/configs/evaluate_configs: Update help output (Prarit Bhargava) +- redhat/configs: Double MAX_LOCKDEP_CHAINS (Justin M. Forbes) +- fedora: configs: Fix WM5102 Kconfig (Hans de Goede) +- powerpc: enable CONFIG_POWER9_CPU (Diego Domingos) [1876436] +- redhat/configs: Fix CONFIG_VIRTIO_IOMMU to 'y' on aarch64 (Eric Auger) [1972795] +- filter-modules.sh: add more sound modules to filter (Jaroslav Kysela) +- redhat/configs: sound configuration cleanups and updates (Jaroslav Kysela) +- common: Update for CXL (Compute Express Link) configs (Peter Robinson) +- redhat: configs: disable CRYPTO_SM modules (Herton R. Krzesinski) [1990040] +- Remove fedora version of the LOCKDEP_BITS, we should use common (Justin M. Forbes) - Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Wed Sep 15 2021 Justin M. Forbes [5.13.17-0] -- kernel-5.13.16-0 (Justin M. Forbes) -- kernel-5.13.15-0 (Justin M. Forbes) -- kernel-5.13.14-0 (Justin M. Forbes) -- kernel-5.13.13-0 (Justin M. Forbes) -- kernel-5.13.12-0 (Justin M. Forbes) -- kernel-5.13.11-0 (Justin M. Forbes) -- bpf: Fix integer overflow involving bucket_size (Tatsuhiko Yasumatsu) -- kernel-5.13.10-0 (Justin M. Forbes) -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Mon Sep 13 2021 Justin M. Forbes [5.13.16-0] -- kernel-5.13.15-0 (Justin M. Forbes) -- kernel-5.13.14-0 (Justin M. Forbes) -- kernel-5.13.13-0 (Justin M. Forbes) -- kernel-5.13.12-0 (Justin M. Forbes) -- kernel-5.13.11-0 (Justin M. Forbes) -- bpf: Fix integer overflow involving bucket_size (Tatsuhiko Yasumatsu) -- kernel-5.13.10-0 (Justin M. Forbes) -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Wed Sep 08 2021 Justin M. Forbes [5.13.15-0] -- kernel-5.13.14-0 (Justin M. Forbes) -- kernel-5.13.13-0 (Justin M. Forbes) -- kernel-5.13.12-0 (Justin M. Forbes) -- kernel-5.13.11-0 (Justin M. Forbes) -- bpf: Fix integer overflow involving bucket_size (Tatsuhiko Yasumatsu) -- kernel-5.13.10-0 (Justin M. Forbes) -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Fri Sep 03 2021 Justin M. Forbes [5.13.14-0] -- kernel-5.13.13-0 (Justin M. Forbes) -- kernel-5.13.12-0 (Justin M. Forbes) -- kernel-5.13.11-0 (Justin M. Forbes) -- bpf: Fix integer overflow involving bucket_size (Tatsuhiko Yasumatsu) -- kernel-5.13.10-0 (Justin M. Forbes) -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Thu Aug 26 2021 Justin M. Forbes [5.13.13-0] -- kernel-5.13.12-0 (Justin M. Forbes) -- kernel-5.13.11-0 (Justin M. Forbes) -- bpf: Fix integer overflow involving bucket_size (Tatsuhiko Yasumatsu) -- kernel-5.13.10-0 (Justin M. Forbes) -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Wed Aug 18 2021 Justin M. Forbes [5.13.12-0] -- kernel-5.13.11-0 (Justin M. Forbes) -- bpf: Fix integer overflow involving bucket_size (Tatsuhiko Yasumatsu) -- kernel-5.13.10-0 (Justin M. Forbes) -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Tue Aug 17 2021 Justin M. Forbes [5.13.11-0] -- bpf: Fix integer overflow involving bucket_size (Tatsuhiko Yasumatsu) -- kernel-5.13.10-0 (Justin M. Forbes) -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Thu Aug 12 2021 Justin M. Forbes [5.13.10-0] -- Fix up backport of Dell XPS 9710 quirk (Justin M. Forbes) -- ASoC: Intel: sof_sdw_max98373: remove useless inits (Pierre-Louis Bossart) -- ASoC: Intel: update sof_pcm512x quirks (Pierre-Louis Bossart) -- ASoC: SOF: Intel: Use DMI string to search for adl_mx98373_rt5682 variant (jairaj arava) -- ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 (Pierre-Louis Bossart) -- kernel-5.13.9-0 (Justin M. Forbes) -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Sun Aug 08 2021 Justin M. Forbes [5.13.9-0] -- drm/i915/dp: Use max params for older panels (Kai-Heng Feng) -- pinctrl: tigerlake: Fix GPIO mapping for newer version of software (Andy Shevchenko) -- kernel-5.13.8-0 (Justin M. Forbes) -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Wed Aug 04 2021 Justin M. Forbes [5.13.8-0] -- Re-enable sermouse for x86 (rhbz 1974002) (Justin M. Forbes) -- Revert CRYPTO_ECDH and CRYPTO_ECDA from builtin to module to fix fips (Justin M. Forbes) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- powerpc/pseries: Fix regression while building external modules (Srikar Dronamraju) -- kernel-5.13.7-0 (Justin M. Forbes) -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Sat Jul 31 2021 Justin M. Forbes [5.13.7-0] -- kernel-5.13.6-0 (Justin M. Forbes) -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Wed Jul 28 2021 Justin M. Forbes [5.13.6-0] -- kernel-5.13.5-0 (Justin M. Forbes) -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Sun Jul 25 2021 Justin M. Forbes [5.13.5-0] -- iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha (Justin M. Forbes) -- Revert "usb: renesas-xhci: Fix handling of unknown ROM state" (Justin M. Forbes) -- RHEL configs need this too (Justin M. Forbes) -- kernel-5.13.4-0 (Justin M. Forbes) -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Tue Jul 20 2021 Justin M. Forbes [5.13.4-0] -- Config update for 5.13.4 (Justin M. Forbes) -- kernel-5.13.3-0 (Justin M. Forbes) -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Mon Jul 19 2021 Justin M. Forbes [5.13.3-0] -- Don't tag a release as [redhat] (Justin M. Forbes) -- platform/x86: amd-pmc: Fix missing unlock on error in amd_pmc_send_cmd() (Yang Yingliang) - -* Wed Jul 14 2021 Justin M. Forbes [5.13.2-0] -- platform/x86: amd-pmc: Use return code on suspend (Mario Limonciello) -- ACPI: PM: Only mark EC GPE for wakeup on Intel systems (Mario Limonciello) -- platform/x86: amd-pmc: Add new acpi id for future PMC controllers (Shyam Sundar S K) -- platform/x86: amd-pmc: Add support for ACPI ID AMDI0006 (Shyam Sundar S K) -- amd-pmc: Add support for logging s0ix counters (Shyam Sundar S K) -- platform/x86: amd-pmc: Add support for logging SMU metrics (Shyam Sundar S K) -- platform/x86: amd-pmc: call dump registers only once (Shyam Sundar S K) -- platform/x86: amd-pmc: Fix SMU firmware reporting mechanism (Shyam Sundar S K) -- platform/x86: amd-pmc: Fix command completion code (Shyam Sundar S K) -- ACPI: PM: Adjust behavior for field problems on AMD systems (Mario Limonciello) -- ACPI: PM: s2idle: Add support for new Microsoft UUID (Pratik Vishwakarma) -- ACPI: PM: s2idle: Add support for multiple func mask (Pratik Vishwakarma) -- ACPI: PM: s2idle: Refactor common code (Pratik Vishwakarma) -- ACPI: PM: s2idle: Use correct revision id (Pratik Vishwakarma) -- ACPI: PM: s2idle: Add missing LPS0 functions for AMD (Alex Deucher) -- ACPI: Add quirks for AMD Renoir/Lucienne CPUs to force the D3 hint (Mario Limonciello) -- ACPI: Check StorageD3Enable _DSD property in ACPI code (Mario Limonciello) -- nvme-pci: look for StorageD3Enable on companion ACPI device instead (Mario Limonciello) -- ACPI: processor idle: Fix up C-state latency if not ordered (Mario Limonciello) -- Revert "drm/rockchip: remove existing generic drivers to take over the device" (Justin M. Forbes) +- Fedora 5.14 configs round 1 (Justin M. Forbes) +- redhat: add gating configuration for centos stream/rhel9 (Herton R. Krzesinski) +- x86: configs: Enable CONFIG_TEST_FPU for debug kernels (Vitaly Kuznetsov) [1988384] +- redhat/configs: Move CHACHA and POLY1305 to core kernel to allow BIG_KEYS=y (root) [1983298] +- kernel.spec: fix build of samples/bpf (Jiri Benc) +- Enable OSNOISE_TRACER and TIMERLAT_TRACER (Jerome Marchand) [1979379] +- rpmspec: switch iio and gpio tools to use tools_make (Herton R. Krzesinski) [1956988] +- configs/process_configs.sh: Handle config items with no help text (Patrick Talbert) +- fedora: sound config updates for 5.14 (Peter Robinson) +- fedora: Only enable FSI drivers on POWER platform (Peter Robinson) +- The CONFIG_RAW_DRIVER has been removed from upstream (Peter Robinson) +- fedora: updates for 5.14 with a few disables for common from pending (Peter Robinson) +- fedora: migrate from MFD_TPS68470 -> INTEL_SKL_INT3472 (Peter Robinson) +- fedora: Remove STAGING_GASKET_FRAMEWORK (Peter Robinson) +- Fedora: move DRM_VMWGFX configs from ark -> common (Peter Robinson) +- fedora: arm: disabled unused FB drivers (Peter Robinson) +- fedora: don't enable FB_VIRTUAL (Peter Robinson) +- redhat/configs: Double MAX_LOCKDEP_ENTRIES (Waiman Long) [1940075] +- rpmspec: fix verbose output on kernel-devel installation (Herton R. Krzesinski) [1981406] +- Build Fedora x86s kernels with bytcr-wm5102 (Marius Hoch) +- Deleted redhat/configs/fedora/generic/x86/CONFIG_FB_HYPERV (Patrick Lang) +- rpmspec: correct the ghost initramfs attributes (Herton R. Krzesinski) [1977056] +- rpmspec: amend removal of depmod created files to include modules.builtin.alias.bin (Herton R. Krzesinski) [1977056] +- configs: remove duplicate CONFIG_DRM_HYPERV file (Patrick Talbert) +- CI: use common code for merge and release (Don Zickus) +- rpmspec: add release string to kernel doc directory name (Jan Stancek) +- redhat/configs: Add CONFIG_INTEL_PMT_CRASHLOG (Michael Petlan) [1880486] +- redhat/configs: Add CONFIG_INTEL_PMT_TELEMETRY (Michael Petlan) [1880486] +- redhat/configs: Add CONFIG_MFD_INTEL_PMT (Michael Petlan) [1880486] +- redhat/configs: enable CONFIG_BLK_DEV_ZONED (Ming Lei) [1638087] +- Add --with clang_lto option to build the kernel with Link Time Optimizations (Tom Stellard) +- common: disable DVB_AV7110 and associated pieces (Peter Robinson) +- Fix fedora-only config updates (Don Zickus) +- Fedor config update for new option (Justin M. Forbes) +- redhat/configs: Enable stmmac NIC for x86_64 (Mark Salter) +- all: hyperv: use the DRM driver rather than FB (Peter Robinson) +- all: hyperv: unify the Microsoft HyperV configs (Peter Robinson) +- all: VMWare: clean up VMWare configs (Peter Robinson) +- Update CONFIG_ARM_FFA_TRANSPORT (Patrick Talbert) +- CI: Handle all mirrors (Veronika Kabatova) +- Turn on CONFIG_STACKTRACE for s390x zfpcdump kernels (Justin M. Forbes) +- arm64: switch ark kernel to 4K pagesize (Mark Salter) +- Disable AMIGA_PARTITION and KARMA_PARTITION (Prarit Bhargava) [1802694] - all: unify and cleanup i2c TPM2 modules (Peter Robinson) -- tpm_tis_spi: add missing SPI device ID entries (Javier Martinez Canillas) -- drm/rockchip: remove existing generic drivers to take over the device (Javier Martinez Canillas) -- arm64: dts: rockchip: disable USB type-c DisplayPort (Jian-Hong Pan) - -* Wed Jul 07 2021 Justin M. Forbes [5.13.1-0] -- Don't build bpftool as part of kernel (Justin M. Forbes) +- redhat/configs: Set CONFIG_VIRTIO_IOMMU on aarch64 (Eric Auger) [1972795] +- redhat/configs: Disable CONFIG_RT_GROUP_SCHED in rhel config (Phil Auld) +- redhat/configs: enable KEXEC_SIG which is already enabled in RHEL8 for s390x and x86_64 (Coiby Xu) [1976835] +- rpmspec: do not BuildRequires bpftool on noarch (Herton R. Krzesinski) +- redhat/configs: disable {IMA,EVM}_LOAD_X509 (Bruno Meneguele) [1977529] +- redhat: add secureboot CA certificate to trusted kernel keyring (Bruno Meneguele) +- redhat/configs: enable IMA_ARCH_POLICY for aarch64 and s390x (Bruno Meneguele) +- redhat/configs: Enable CONFIG_MLXBF_GIGE on aarch64 (Alaa Hleihel) [1858599] +- common: enable STRICT_MODULE_RWX everywhere (Peter Robinson) +- COMMON_CLK_STM32MP157_SCMI is bool and selects COMMON_CLK_SCMI (Justin M. Forbes) +- kernel.spec: Add kernel{,-debug}-devel-matched meta packages (Timothée Ravier) +- Turn off with_selftests for Fedora (Justin M. Forbes) +- Don't build bpftool on Fedora (Justin M. Forbes) +- Fix location of syscall scripts for kernel-devel (Justin M. Forbes) - fedora: arm: Enable some i.MX8 options (Peter Robinson) - Enable Landlock for Fedora (Justin M. Forbes) -- can: bcm: delay release of struct bcm_op after synchronize_rcu (Thadeu Lima de Souza Cascardo) +- Filter update for Fedora aarch64 (Justin M. Forbes) +- rpmspec: only build debug meta packages where we build debug ones (Herton R. Krzesinski) +- rpmspec: do not BuildRequires bpftool on nobuildarches (Herton R. Krzesinski) +- redhat/configs: Consolidate CONFIG_HMC_DRV in the common s390x folder (Thomas Huth) [1976270] +- redhat/configs: Consolidate CONFIG_EXPOLINE_OFF in the common folder (Thomas Huth) [1976270] +- redhat/configs: Move CONFIG_HW_RANDOM_S390 into the s390x/ subfolder (Thomas Huth) [1976270] +- redhat/configs: Disable CONFIG_HOTPLUG_PCI_SHPC in the Fedora settings (Thomas Huth) [1976270] +- redhat/configs: Remove the non-existent CONFIG_NO_BOOTMEM switch (Thomas Huth) [1976270] +- redhat/configs: Compile the virtio-console as a module on s390x (Thomas Huth) [1976270] +- redhat/configs: Enable CONFIG_S390_CCW_IOMMU and CONFIG_VFIO_CCW for ARK, too (Thomas Huth) [1976270] +- Revert "Merge branch 'ec_fips' into 'os-build'" (Vladis Dronov) [1947240] - Fix typos in fedora filters (Justin M. Forbes) - More filtering for Fedora (Justin M. Forbes) - Fix Fedora module filtering for spi-altera-dfl (Justin M. Forbes) -- Changes for building stable Fedora (Justin M. Forbes) - Fedora 5.13 config updates (Justin M. Forbes) - fedora: cleanup TCG_TIS_I2C_CR50 (Peter Robinson) - fedora: drop duplicate configs (Peter Robinson) @@ -3333,8 +3162,6 @@ fi - Fedora 5.13 config updates pt 2 (Justin M. Forbes) - Move CONFIG_ARCH_INTEL_SOCFPGA up a level for Fedora (Justin M. Forbes) - fedora: enable the Rockchip rk3399 pcie drivers (Peter Robinson) -- PCI: rockchip: Register IRQs just before pci_host_probe() (Javier Martinez Canillas) -- arm64: dts: rockchip: Update PCI host bridge window to 32-bit address memory (Punit Agrawal) - Fedora 5.13 config updates pt 1 (Justin M. Forbes) - Fix version requirement from opencsd-devel buildreq (Justin M. Forbes) - configs/ark/s390: set CONFIG_MARCH_Z14 and CONFIG_TUNE_Z15 (Philipp Rudo) [1876435] @@ -3354,6 +3181,7 @@ fi - redhat/configs: Set PVPANIC_MMIO for x86 and PVPANIC_PCI for aarch64 (Eric Auger) [1961178] - Enable CONFIG_BPF_UNPRIV_DEFAULT_OFF (Jiri Olsa) - configs/common/s390: disable CONFIG_QETH_{OSN,OSX} (Philipp Rudo) [1903201] +- team: mark team driver as deprecated (Hangbin Liu) [1945477] - Make CRYPTO_EC also builtin (Simo Sorce) [1947240] - Do not hard-code a default value for DIST (David Ward) - Override %%{debugbuildsenabled} if the --with-release option is used (David Ward) @@ -3362,6 +3190,7 @@ fi - Revert s390x/zfcpdump part of a9d179c40281 and ecbfddd98621 (Vladis Dronov) - Embed crypto algos, modes and templates needed in the FIPS mode (Vladis Dronov) [1947240] - configs: Add and enable CONFIG_HYPERV_TESTING for debug kernels (Mohammed Gamal) +- mm/cma: mark CMA on x86_64 tech preview and print RHEL-specific infos (David Hildenbrand) [1945002] - configs: enable CONFIG_CMA on x86_64 in ARK (David Hildenbrand) [1945002] - rpmspec: build debug-* meta-packages if debug builds are disabled (Herton R. Krzesinski) - UIO: disable unused config options (Aristeu Rozanski) [1957819] @@ -3672,7 +3501,6 @@ fi - redhat: ark: disable CONFIG_NET_SCH_QFQ (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_PLUG (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_PIE (Davide Caratti) -- redhat: ark: disable CONFIG_NET_SCH_MULTIQ (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_HHF (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_DSMARK (Davide Caratti) - redhat: ark: disable CONFIG_NET_SCH_DRR (Davide Caratti) @@ -3712,7 +3540,6 @@ fi - generate_all_configs.sh: Fix syntax flagged by shellcheck (Ben Crocker) - redhat/self-test: Initial commit (Ben Crocker) - KEYS: Make use of platform keyring for module signature verify (Robert Holmes) -- Drop that for now (Laura Abbott) - Input: rmi4 - remove the need for artificial IRQ in case of HID (Benjamin Tissoires) - ARM: tegra: usb no reset (Peter Robinson) - arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT (Jon Masters) @@ -3726,12 +3553,8 @@ fi - arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT (Jeremy Cline) - iommu/arm-smmu: workaround DMA mode issues (Laura Abbott) - ipmi: do not configure ipmi for HPE m400 (Laura Abbott) [1670017] -- scsi: smartpqi: add inspur advantech ids (Don Brace) - ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) - Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) -- kdump: fix a grammar issue in a kernel message (Dave Young) [1507353] -- kdump: add support for crashkernel=auto (Jeremy Cline) -- kdump: round up the total memory size to 128M for crashkernel reservation (Dave Young) [1507353] - acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869] - aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] - ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] @@ -4053,97 +3876,6 @@ fi - [initial commit] Add configs (Laura Abbott) - [initial commit] Add Makefiles (Laura Abbott) -* Wed Oct 09 2019 Jeremy Cline [5.4.0-0.rc2.1.elrdy] -- Skip ksamples for bpf, they are broken (Jeremy Cline) -- Add a SysRq option to lift kernel lockdown (Kyle McMartin) -- efi: Lock down the kernel if booted in secure boot mode (David Howells) -- efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (David Howells) -- security: lockdown: expose a hook to lock the kernel down (Jeremy Cline) -- Make get_cert_list() use efi_status_to_str() to print error messages. (Peter Jones) -- Add efi_status_to_str() and rework efi_status_to_err(). (Peter Jones) -- Make get_cert_list() not complain about cert lists that aren't present. (Peter Jones) -- [iommu] iommu/arm-smmu: workaround DMA mode issues (Laura Abbott) -- [kernel] rh_taint: correct loaddable module support dependencies (Philipp Rudo) [1652266] -- [kernel] rh_kabi: introduce RH_KABI_EXCLUDE (Jakub Racek) [1652256] -- [x86] mark intel knights landing and knights mill unsupported (David Arcari) [1610493] -- [x86] mark whiskey-lake processor supported (David Arcari) [1609604] -- [char] ipmi: do not configure ipmi for HPE m400 (Laura Abbott) [https://bugzilla.redhat.com/show_bug.cgi?id=1670017] -- [infiniband] IB/rxe: Mark Soft-RoCE Transport driver as tech-preview (Don Dutile) [1605216] -- [scsi] scsi: smartpqi: add inspur advantech ids (Don Brace) [1503736] -- [netdrv] ice: mark driver as tech-preview (Jonathan Toppins) [1495347] -- [scsi] be2iscsi: remove BE3 family support (Maurizio Lombardi) [1598366] -- [x86] update rh_check_supported processor list (David Arcari) [1595918] -- [kernel] kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831] -- [pci] add pci_hw_vendor_status() (Maurizio Lombardi) [1590829] -- [ata] ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) [1563590] -- [pci] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) [1563590] -- [kernel] bpf: Add tech preview taint for syscall (Eugene Syromiatnikov) [1559877] -- [kernel] bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171] -- [kernel] add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877] -- [kernel] kdump: fix a grammar issue in a kernel message (Dave Young) [1507353] -- [scripts] tags.sh: Ignore redhat/rpm (Jeremy Cline) -- [kernel] put RHEL info into generated headers (Laura Abbott) [https://bugzilla.redhat.com/show_bug.cgi?id=1663728] -- [kernel] kdump: add support for crashkernel=auto (Jeremy Cline) -- [kernel] kdump: round up the total memory size to 128M for crashkernel reservation (Dave Young) [1507353] -- [arm64] acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869] -- [acpi] aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554] -- [acpi] ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554] -- [x86] add rh_check_supported (David Arcari) [1565717] -- [scsi] qla2xxx: Remove PCI IDs of deprecated adapter (Jeremy Cline) -- [scsi] be2iscsi: remove unsupported device IDs (Chris Leech) [1574502] -- [scsi] Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) [1572321] -- [scsi] hpsa: modify hpsa driver version (Jeremy Cline) -- [scsi] hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) [1471185] -- [kernel] rh_taint: add support for marking driver as unsupported (Jonathan Toppins) [1565704] -- [kernel] rh_taint: add support (David Arcari) [1565704] -- [scsi] qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) [1518874] -- [scsi] aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) [1495307] -- [scsi] megaraid_sas: remove deprecated pci-ids (Tomas Henzl) [1509329] -- [scsi] mpt*: remove certain deprecated pci-ids (Jeremy Cline) -- [kernel] modules: add rhelversion MODULE_INFO tag (Laura Abbott) -- [acpi] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076] -- gitlab: Add CI job for packaging scripts (Major Hayden) -- Set CRYPTO_SHA3_*_S390 to builtin on zfcpdump (Jeremy Cline) -- configs: New config in drivers/edac for v5.4-rc1 (Jeremy Cline) -- configs: New config in drivers/firmware for v5.4-rc1 (Jeremy Cline) -- configs: New config in drivers/hwmon for v5.4-rc1 (Jeremy Cline) -- configs: New config in drivers/iio for v5.4-rc1 (Jeremy Cline) -- configs: New config in drivers/mmc for v5.4-rc1 (Jeremy Cline) -- configs: New config in drivers/tty for v5.4-rc1 (Jeremy Cline) -- configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline) -- configs: New config in drivers/bus for v5.4-rc1 (Jeremy Cline) -- Add option to allow mismatched configs on the command line (Laura Abbott) -- configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline) -- configs: New config in sound/pci for v5.4-rc1 (Jeremy Cline) -- configs: New config in sound/soc for v5.4-rc1 (Jeremy Cline) -- Speed up CI with CKI image (Major Hayden) -- configs: Fix the pending default for CONFIG_ARM64_VA_BITS_52 (Jeremy Cline) -- configs: Turn on OPTIMIZE_INLINING for everything (Jeremy Cline) -- configs: Set valid pending defaults for CRYPTO_ESSIV (Jeremy Cline) -- Add an initial CI configuration for the internal branch (Jeremy Cline) -- New drop of configuration options for v5.4-rc1 (Jeremy Cline) -- Disable e1000 driver in ARK (Neil Horman) -- New drop of configuration options for v5.4-rc1 (Jeremy Cline) -- configs: Adjust CONFIG_FORCE_MAX_ZONEORDER for Fedora (Laura Abbott) -- configs: Add README for some other arches (Laura Abbott) -- configs: Sync up Fedora configs (Laura Abbott) -- Pull the RHEL version defines out of the Makefile (Jeremy Cline) -- Sync up the ARK build scripts (Jeremy Cline) -- Sync up the Fedora Rawhide configs (Jeremy Cline) -- Sync up the ARK config files (Jeremy Cline) -- [initial commit] Add structure for building with git (Laura Abbott) -- [initial commit] Add Red Hat variables in the top level makefile (Laura Abbott) -- [initial commit] Red Hat gitignore and attributes (Laura Abbott) -- [initial commit] Add changelog (Laura Abbott) -- [initial commit] Add makefile (Laura Abbott) -- [initial commit] Add files for generating the kernel.spec (Laura Abbott) -- [initial commit] Add rpm directory (Laura Abbott) -- [initial commit] Add files for packaging (Laura Abbott) -- [initial commit] Add kabi files (Laura Abbott) -- [initial commit] Add scripts (Laura Abbott) -- [initial commit] Add configs (Laura Abbott) -- [initial commit] Add Makefiles (Laura Abbott) - # The following bit is important for automation so please do not remove # END OF CHANGELOG diff --git a/patch-5.13-redhat.patch b/patch-5.14-redhat.patch similarity index 57% rename from patch-5.13-redhat.patch rename to patch-5.14-redhat.patch index f15e0e429..07e15e0af 100644 --- a/patch-5.13-redhat.patch +++ b/patch-5.14-redhat.patch @@ -1,117 +1,64 @@ - Documentation/admin-guide/kdump/kdump.rst | 11 + - Makefile | 1 + arch/arm/Kconfig | 4 +- arch/arm64/Kconfig | 3 +- - .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 2 +- + .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 6 +- arch/arm64/kernel/acpi.c | 2 +- arch/s390/include/asm/ipl.h | 1 + arch/s390/kernel/ipl.c | 5 + arch/s390/kernel/setup.c | 4 + arch/x86/kernel/setup.c | 22 +- + crypto/rng.c | 73 ++- drivers/acpi/apei/hest.c | 8 + - drivers/acpi/device_pm.c | 32 ++ - drivers/acpi/internal.h | 9 + drivers/acpi/irq.c | 17 +- drivers/acpi/scan.c | 9 + - drivers/acpi/x86/s2idle.c | 157 ++++-- - drivers/acpi/x86/utils.c | 25 + + drivers/acpi/x86/s2idle.c | 67 +-- 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/firmware/efi/Makefile | 1 + drivers/firmware/efi/efi.c | 124 +++-- drivers/firmware/efi/secureboot.c | 38 ++ - drivers/gpu/drm/i915/display/intel_dp.c | 12 +- - drivers/gpu/drm/i915/display/intel_psr.c | 7 + - drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 11 + 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/net/wireguard/main.c | 6 + - drivers/nvme/host/pci.c | 28 +- drivers/pci/quirks.c | 24 + - drivers/platform/x86/amd-pmc.c | 204 +++++++- - drivers/scsi/smartpqi/smartpqi_init.c | 16 + drivers/usb/core/hub.c | 7 + - include/linux/acpi.h | 5 + + fs/xfs/xfs_super.c | 8 - include/linux/efi.h | 22 +- include/linux/lsm_hook_defs.h | 2 + include/linux/lsm_hooks.h | 6 + + include/linux/random.h | 7 + include/linux/rmi.h | 1 + include/linux/security.h | 5 + init/Kconfig | 2 +- - kernel/crash_core.c | 28 +- kernel/module_signing.c | 9 +- + mm/cma.c | 10 + security/integrity/platform_certs/load_uefi.c | 6 +- security/lockdown/Kconfig | 13 + security/lockdown/lockdown.c | 1 + security/security.c | 6 + - sound/soc/intel/boards/sof_rt5682.c | 14 + - sound/soc/intel/boards/sof_sdw.c | 12 + - sound/soc/intel/boards/sof_sdw_max98373.c | 4 +- - sound/soc/sof/sof-pci-dev.c | 9 + tools/testing/selftests/bpf/Makefile | 1 - - tools/testing/selftests/bpf/prog_tests/atomics.c | 246 ---------- - .../testing/selftests/bpf/prog_tests/bpf_tcp_ca.c | 280 ----------- - .../testing/selftests/bpf/prog_tests/kfunc_call.c | 59 --- .../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 -- - .../selftests/bpf/prog_tests/static_linked.c | 40 -- tools/testing/selftests/bpf/progs/bpf_cubic.c | 545 --------------------- tools/testing/selftests/bpf/progs/bpf_dctcp.c | 224 --------- .../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_maps1.c | 82 ---- 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 --- - .../selftests/bpf/progs/test_static_linked1.c | 30 -- - .../selftests/bpf/progs/test_static_linked2.c | 31 -- - 73 files changed, 937 insertions(+), 2349 deletions(-) + 54 files changed, 694 insertions(+), 1523 deletions(-) -diff --git a/Documentation/admin-guide/kdump/kdump.rst b/Documentation/admin-guide/kdump/kdump.rst -index 75a9dd98e76e..3ff3291551f9 100644 ---- a/Documentation/admin-guide/kdump/kdump.rst -+++ b/Documentation/admin-guide/kdump/kdump.rst -@@ -285,6 +285,17 @@ This would mean: - 2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M - 3) if the RAM size is larger than 2G, then reserve 128M - -+Or you can use crashkernel=auto if you have enough memory. The threshold -+is 2G on x86_64, arm64, ppc64 and ppc64le. The threshold is 4G for s390x. -+If your system memory is less than the threshold crashkernel=auto will not -+reserve memory. -+ -+The automatically reserved memory size varies based on architecture. -+The size changes according to system memory size like below: -+ x86_64: 1G-64G:160M,64G-1T:256M,1T-:512M -+ s390x: 4G-64G:160M,64G-1T:256M,1T-:512M -+ arm64: 2G-:512M -+ ppc64: 2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G - - - Boot into System Kernel -diff --git a/Makefile b/Makefile -index 528a5c37bc8d..137829fa1f2f 100644 ---- a/Makefile -+++ b/Makefile -@@ -513,6 +513,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE - KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ - -Werror=implicit-function-declaration -Werror=implicit-int \ -+ -Wno-address-of-packed-member \ - -Werror=return-type -Wno-format-security \ - -std=gnu89 - KBUILD_CPPFLAGS := -D__KERNEL__ diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 24804f11302d..fd5ff3fa0d5b 100644 +index 2fb7012c3246..47718b4f2f75 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1484,9 +1484,9 @@ config HIGHMEM +@@ -1474,9 +1474,9 @@ config HIGHMEM If unsure, say n. config HIGHPTE @@ -124,10 +71,10 @@ index 24804f11302d..fd5ff3fa0d5b 100644 The VM uses one page of physical memory for each page table. For systems with a lot of processes, this can use a lot of diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 9f1d8566bbf9..ebb24a713210 100644 +index 62c3c1d2190f..9ef6bb1d5b0c 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -921,7 +921,7 @@ endchoice +@@ -915,7 +915,7 @@ endchoice config ARM64_FORCE_52BIT bool "Force 52-bit virtual addresses for userspace" @@ -136,29 +83,40 @@ index 9f1d8566bbf9..ebb24a713210 100644 help For systems with 52-bit userspace VAs enabled, the kernel will attempt to maintain compatibility with older software by providing 48-bit VAs -@@ -1165,6 +1165,7 @@ config XEN +@@ -1156,6 +1156,7 @@ config XEN config FORCE_MAX_ZONEORDER int default "14" if ARM64_64K_PAGES -+ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES && !RHEL_DIFFERENCES) ++ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES) default "12" if ARM64_16K_PAGES default "11" help diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts -index 2b5f001ff4a6..dcdb3cd75be7 100644 +index 2b5f001ff4a6..dae8c252bc2b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts -@@ -386,7 +386,7 @@ mains_charger: dc-charger { +@@ -385,10 +385,6 @@ mains_charger: dc-charger { + }; }; - &cdn_dp { +-&cdn_dp { - status = "okay"; -+ status = "disabled"; - }; - +-}; +- &cpu_b0 { + cpu-supply = <&vdd_cpu_b>; + }; +@@ -711,7 +707,7 @@ fusb0: fusb30x@22 { + + connector { + compatible = "usb-c-connector"; +- data-role = "host"; ++ data-role = "dual"; + label = "USB-C"; + op-sink-microwatt = <1000000>; + power-role = "dual"; diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c -index cada0b816c8a..0fc840d6b0fb 100644 +index f3851724fe35..cac21da49455 100644 --- a/arch/arm64/kernel/acpi.c +++ b/arch/arm64/kernel/acpi.c @@ -40,7 +40,7 @@ int acpi_pci_disabled = 1; /* skip ACPI PCI scan and IRQ initialization */ @@ -183,7 +141,7 @@ index a9e2c7295b35..6ff11f3a2d47 100644 /* * DIAG 308 support diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c -index dba04fbc37a2..f809ab6441fd 100644 +index 911cd3912351..caae31c04561 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c @@ -2215,3 +2215,8 @@ int ipl_report_free(struct ipl_report *report) @@ -196,7 +154,7 @@ index dba04fbc37a2..f809ab6441fd 100644 + return !!ipl_secure_flag; +} diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c -index 93538e63fa03..60e4b4275dc4 100644 +index ee23908f1b96..0273125cdfba 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -49,6 +49,7 @@ @@ -207,7 +165,7 @@ index 93538e63fa03..60e4b4275dc4 100644 #include #include -@@ -1114,6 +1115,9 @@ void __init setup_arch(char **cmdline_p) +@@ -1030,6 +1031,9 @@ void __init setup_arch(char **cmdline_p) log_component_list(); @@ -218,10 +176,10 @@ index 93538e63fa03..60e4b4275dc4 100644 /* boot_command_line has been already set up in early.c */ *cmdline_p = boot_command_line; diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 1e720626069a..8419cc38a146 100644 +index bff3a784aec5..4e13c3ee5723 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -18,6 +18,7 @@ +@@ -19,6 +19,7 @@ #include #include #include @@ -229,7 +187,7 @@ index 1e720626069a..8419cc38a146 100644 #include #include #include -@@ -962,6 +963,13 @@ void __init setup_arch(char **cmdline_p) +@@ -936,6 +937,13 @@ void __init setup_arch(char **cmdline_p) if (efi_enabled(EFI_BOOT)) efi_init(); @@ -243,7 +201,7 @@ index 1e720626069a..8419cc38a146 100644 dmi_setup(); /* -@@ -1126,19 +1134,7 @@ void __init setup_arch(char **cmdline_p) +@@ -1101,19 +1109,7 @@ void __init setup_arch(char **cmdline_p) /* Allocate bigger log buffer */ setup_log_buf(1); @@ -264,6 +222,103 @@ index 1e720626069a..8419cc38a146 100644 reserve_initrd(); +diff --git a/crypto/rng.c b/crypto/rng.c +index fea082b25fe4..50a9d040bed1 100644 +--- a/crypto/rng.c ++++ b/crypto/rng.c +@@ -11,14 +11,17 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include + #include ++#include ++#include + #include + #include + #include +-#include + #include + + #include "internal.h" +@@ -224,5 +227,73 @@ void crypto_unregister_rngs(struct rng_alg *algs, int count) + } + EXPORT_SYMBOL_GPL(crypto_unregister_rngs); + ++static ssize_t crypto_devrandom_read(void __user *buf, size_t buflen) ++{ ++ u8 tmp[256]; ++ ssize_t ret; ++ ++ if (!buflen) ++ return 0; ++ ++ ret = crypto_get_default_rng(); ++ if (ret) ++ return ret; ++ ++ for (;;) { ++ int err; ++ int i; ++ ++ i = min_t(int, buflen, sizeof(tmp)); ++ err = crypto_rng_get_bytes(crypto_default_rng, tmp, i); ++ if (err) { ++ ret = err; ++ break; ++ } ++ ++ if (copy_to_user(buf, tmp, i)) { ++ ret = -EFAULT; ++ break; ++ } ++ ++ buflen -= i; ++ buf += i; ++ ret += i; ++ ++ if (!buflen) ++ break; ++ ++ if (need_resched()) { ++ if (signal_pending(current)) ++ break; ++ schedule(); ++ } ++ } ++ ++ crypto_put_default_rng(); ++ memzero_explicit(tmp, sizeof(tmp)); ++ ++ return ret; ++} ++ ++static const struct random_extrng crypto_devrandom_rng = { ++ .extrng_read = crypto_devrandom_read, ++ .owner = THIS_MODULE, ++}; ++ ++static int __init crypto_rng_init(void) ++{ ++ if (fips_enabled) ++ random_register_extrng(&crypto_devrandom_rng); ++ return 0; ++} ++ ++static void __exit crypto_rng_exit(void) ++{ ++ random_unregister_extrng(); ++} ++ ++late_initcall(crypto_rng_init); ++module_exit(crypto_rng_exit); ++ + MODULE_LICENSE("GPL"); + MODULE_DESCRIPTION("Random Number Generator"); diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c index 277f00b288d1..adbce15c273d 100644 --- a/drivers/acpi/apei/hest.c @@ -283,67 +338,6 @@ index 277f00b288d1..adbce15c273d 100644 hest_hdr = (struct acpi_hest_header *)(hest_tab + 1); for (i = 0; i < hest_tab->error_source_count; i++) { len = hest_esrc_len(hest_hdr); -diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c -index 9d2d3b9bb8b5..0cfdef2fc3ad 100644 ---- a/drivers/acpi/device_pm.c -+++ b/drivers/acpi/device_pm.c -@@ -1338,4 +1338,36 @@ int acpi_dev_pm_attach(struct device *dev, bool power_on) - return 1; - } - EXPORT_SYMBOL_GPL(acpi_dev_pm_attach); -+ -+/** -+ * acpi_storage_d3 - Check if D3 should be used in the suspend path -+ * @dev: Device to check -+ * -+ * Return %true if the platform firmware wants @dev to be programmed -+ * into D3hot or D3cold (if supported) in the suspend path, or %false -+ * when there is no specific preference. On some platforms, if this -+ * hint is ignored, @dev may remain unresponsive after suspending the -+ * platform as a whole. -+ * -+ * Although the property has storage in the name it actually is -+ * applied to the PCIe slot and plugging in a non-storage device the -+ * same platform restrictions will likely apply. -+ */ -+bool acpi_storage_d3(struct device *dev) -+{ -+ struct acpi_device *adev = ACPI_COMPANION(dev); -+ u8 val; -+ -+ if (force_storage_d3()) -+ return true; -+ -+ if (!adev) -+ return false; -+ if (fwnode_property_read_u8(acpi_fwnode_handle(adev), "StorageD3Enable", -+ &val)) -+ return false; -+ return val == 1; -+} -+EXPORT_SYMBOL_GPL(acpi_storage_d3); -+ - #endif /* CONFIG_PM */ -diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h -index e21611c9a170..7ac01b03ba67 100644 ---- a/drivers/acpi/internal.h -+++ b/drivers/acpi/internal.h -@@ -236,6 +236,15 @@ static inline int suspend_nvs_save(void) { return 0; } - static inline void suspend_nvs_restore(void) {} - #endif - -+#ifdef CONFIG_X86 -+bool force_storage_d3(void); -+#else -+static inline bool force_storage_d3(void) -+{ -+ return false; -+} -+#endif -+ - /*-------------------------------------------------------------------------- - Device properties - -------------------------------------------------------------------------- */ diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c index c68e694fca26..146cba5ae5bc 100644 --- a/drivers/acpi/irq.c @@ -388,10 +382,10 @@ index c68e694fca26..146cba5ae5bc 100644 return ctx.rc; } diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c -index 438df8da6d12..d5343c0075f8 100644 +index b24513ec3fae..8308569f66e0 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c -@@ -1641,6 +1641,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) +@@ -1721,6 +1721,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids)) return false; @@ -408,297 +402,99 @@ index 438df8da6d12..d5343c0075f8 100644 acpi_dev_get_resources(device, &resource_list, acpi_check_serial_bus_slave, diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c -index 2d7ddb8a8cb6..1c507804fb10 100644 +index 3a308461246a..bd92b549fd5a 100644 --- a/drivers/acpi/x86/s2idle.c +++ b/drivers/acpi/x86/s2idle.c -@@ -32,6 +32,9 @@ static const struct acpi_device_id lps0_device_ids[] = { - {"", }, - }; - -+/* Microsoft platform agnostic UUID */ -+#define ACPI_LPS0_DSM_UUID_MICROSOFT "11e00d56-ce64-47ce-837b-1f898f9aa461" -+ - #define ACPI_LPS0_DSM_UUID "c4eb40a0-6cd2-11e2-bcfd-0800200c9a66" - - #define ACPI_LPS0_GET_DEVICE_CONSTRAINTS 1 -@@ -39,6 +42,8 @@ static const struct acpi_device_id lps0_device_ids[] = { - #define ACPI_LPS0_SCREEN_ON 4 - #define ACPI_LPS0_ENTRY 5 - #define ACPI_LPS0_EXIT 6 -+#define ACPI_LPS0_MS_ENTRY 7 -+#define ACPI_LPS0_MS_EXIT 8 - - /* AMD */ - #define ACPI_LPS0_DSM_UUID_AMD "e3f32452-febc-43ce-9039-932122d37721" -@@ -49,7 +54,10 @@ static const struct acpi_device_id lps0_device_ids[] = { - - static acpi_handle lps0_device_handle; - static guid_t lps0_dsm_guid; --static char lps0_dsm_func_mask; -+static int lps0_dsm_func_mask; -+ -+static guid_t lps0_dsm_guid_microsoft; -+static int lps0_dsm_func_mask_microsoft; - - /* Device constraint entry structure */ - struct lpi_device_info { -@@ -70,15 +78,7 @@ struct lpi_constraints { - int min_dstate; - }; - --/* AMD */ --/* Device constraint entry structure */ --struct lpi_device_info_amd { -- int revision; -- int count; -- union acpi_object *package; --}; -- --/* Constraint package structure */ -+/* AMD Constraint package structure */ - struct lpi_device_constraint_amd { - char *name; - int enabled; -@@ -96,15 +96,15 @@ static void lpi_device_get_constraints_amd(void) - int i, j, k; - - out_obj = acpi_evaluate_dsm_typed(lps0_device_handle, &lps0_dsm_guid, -- 1, ACPI_LPS0_GET_DEVICE_CONSTRAINTS, -+ rev_id, ACPI_LPS0_GET_DEVICE_CONSTRAINTS, - NULL, ACPI_TYPE_PACKAGE); - -- if (!out_obj) -- return; -- - acpi_handle_debug(lps0_device_handle, "_DSM function 1 eval %s\n", - out_obj ? "successful" : "failed"); - -+ if (!out_obj) -+ return; -+ - for (i = 0; i < out_obj->package.count; i++) { - union acpi_object *package = &out_obj->package.elements[i]; - -@@ -317,14 +317,15 @@ static void lpi_check_constraints(void) - } - } - --static void acpi_sleep_run_lps0_dsm(unsigned int func) -+static void acpi_sleep_run_lps0_dsm(unsigned int func, unsigned int func_mask, guid_t dsm_guid) - { - union acpi_object *out_obj; - -- if (!(lps0_dsm_func_mask & (1 << func))) -+ if (!(func_mask & (1 << func))) - return; - -- out_obj = acpi_evaluate_dsm(lps0_device_handle, &lps0_dsm_guid, rev_id, func, NULL); -+ out_obj = acpi_evaluate_dsm(lps0_device_handle, &dsm_guid, -+ rev_id, func, NULL); - ACPI_FREE(out_obj); - - acpi_handle_debug(lps0_device_handle, "_DSM function %u evaluation %s\n", -@@ -336,11 +337,33 @@ static bool acpi_s2idle_vendor_amd(void) - return boot_cpu_data.x86_vendor == X86_VENDOR_AMD; - } - -+static int validate_dsm(acpi_handle handle, const char *uuid, int rev, guid_t *dsm_guid) -+{ -+ union acpi_object *obj; -+ int ret = -EINVAL; -+ -+ guid_parse(uuid, dsm_guid); -+ obj = acpi_evaluate_dsm(handle, dsm_guid, rev, 0, NULL); -+ -+ /* Check if the _DSM is present and as expected. */ -+ if (!obj || obj->type != ACPI_TYPE_BUFFER || obj->buffer.length == 0 || -+ obj->buffer.length > sizeof(u32)) { -+ acpi_handle_debug(handle, -+ "_DSM UUID %s rev %d function 0 evaluation failed\n", uuid, rev); -+ goto out; -+ } -+ -+ ret = *(int *)obj->buffer.pointer; -+ acpi_handle_debug(handle, "_DSM UUID %s rev %d function mask: 0x%x\n", uuid, rev, ret); -+ -+out: -+ ACPI_FREE(obj); -+ return ret; -+} -+ - static int lps0_device_attach(struct acpi_device *adev, - const struct acpi_device_id *not_used) - { -- union acpi_object *out_obj; -- - if (lps0_device_handle) - return 0; - -@@ -348,28 +371,36 @@ static int lps0_device_attach(struct acpi_device *adev, - return 0; - - if (acpi_s2idle_vendor_amd()) { -- guid_parse(ACPI_LPS0_DSM_UUID_AMD, &lps0_dsm_guid); -- out_obj = acpi_evaluate_dsm(adev->handle, &lps0_dsm_guid, 0, 0, NULL); -+ /* AMD0004, AMDI0005: -+ * - Should use rev_id 0x0 -+ * - function mask > 0x3: Should use AMD method, but has off by one bug -+ * - function mask = 0x3: Should use Microsoft method -+ * AMDI0006: -+ * - should use rev_id 0x0 -+ * - function mask = 0x3: Should use Microsoft method -+ */ -+ const char *hid = acpi_device_hid(adev); - rev_id = 0; -+ lps0_dsm_func_mask = validate_dsm(adev->handle, -+ ACPI_LPS0_DSM_UUID_AMD, rev_id, &lps0_dsm_guid); -+ lps0_dsm_func_mask_microsoft = validate_dsm(adev->handle, -+ ACPI_LPS0_DSM_UUID_MICROSOFT, rev_id, -+ &lps0_dsm_guid_microsoft); -+ if (lps0_dsm_func_mask > 0x3 && (!strcmp(hid, "AMD0004") || -+ !strcmp(hid, "AMDI0005"))) { -+ lps0_dsm_func_mask = (lps0_dsm_func_mask << 1) | 0x1; -+ acpi_handle_debug(adev->handle, "_DSM UUID %s: Adjusted function mask: 0x%x\n", -+ ACPI_LPS0_DSM_UUID_AMD, lps0_dsm_func_mask); -+ } - } else { -- guid_parse(ACPI_LPS0_DSM_UUID, &lps0_dsm_guid); -- out_obj = acpi_evaluate_dsm(adev->handle, &lps0_dsm_guid, 1, 0, NULL); - rev_id = 1; -+ lps0_dsm_func_mask = validate_dsm(adev->handle, -+ ACPI_LPS0_DSM_UUID, rev_id, &lps0_dsm_guid); -+ lps0_dsm_func_mask_microsoft = -EINVAL; - } - -- /* Check if the _DSM is present and as expected. */ -- if (!out_obj || out_obj->type != ACPI_TYPE_BUFFER) { -- acpi_handle_debug(adev->handle, -- "_DSM function 0 evaluation failed\n"); -- return 0; -- } -- -- lps0_dsm_func_mask = *(char *)out_obj->buffer.pointer; -- -- ACPI_FREE(out_obj); -- -- acpi_handle_debug(adev->handle, "_DSM function mask: 0x%x\n", -- lps0_dsm_func_mask); -+ if (lps0_dsm_func_mask < 0 && lps0_dsm_func_mask_microsoft < 0) -+ return 0; //function evaluation failed - - lps0_device_handle = adev->handle; - -@@ -386,11 +417,15 @@ static int lps0_device_attach(struct acpi_device *adev, - mem_sleep_current = PM_SUSPEND_TO_IDLE; - - /* -- * Some LPS0 systems, like ASUS Zenbook UX430UNR/i7-8550U, require the -- * EC GPE to be enabled while suspended for certain wakeup devices to -- * work, so mark it as wakeup-capable. -+ * Some Intel based LPS0 systems, like ASUS Zenbook UX430UNR/i7-8550U don't -+ * use intel-hid or intel-vbtn but require the EC GPE to be enabled while -+ * suspended for certain wakeup devices to work, so mark it as wakeup-capable. -+ * -+ * Only enable on !AMD as enabling this universally causes problems for a number -+ * of AMD based systems. - */ -- acpi_ec_mark_gpe_for_wake(); -+ if (!acpi_s2idle_vendor_amd()) -+ acpi_ec_mark_gpe_for_wake(); - - return 0; - } -@@ -408,12 +443,23 @@ int acpi_s2idle_prepare_late(void) +@@ -449,25 +449,30 @@ int acpi_s2idle_prepare_late(void) if (pm_debug_messages_on) lpi_check_constraints(); -- if (acpi_s2idle_vendor_amd()) { -- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD); -- acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD); +- if (lps0_dsm_func_mask_microsoft > 0) { ++ /* Screen off */ ++ if (lps0_dsm_func_mask > 0) ++ acpi_sleep_run_lps0_dsm(acpi_s2idle_vendor_amd() ? ++ ACPI_LPS0_SCREEN_OFF_AMD : ++ ACPI_LPS0_SCREEN_OFF, ++ lps0_dsm_func_mask, lps0_dsm_guid); ++ ++ if (lps0_dsm_func_mask_microsoft > 0) + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF, + lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_MS_ENTRY, +- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); ++ ++ /* LPS0 entry */ ++ if (lps0_dsm_func_mask > 0) ++ acpi_sleep_run_lps0_dsm(acpi_s2idle_vendor_amd() ? ++ ACPI_LPS0_ENTRY_AMD : ++ ACPI_LPS0_ENTRY, ++ lps0_dsm_func_mask, lps0_dsm_guid); + if (lps0_dsm_func_mask_microsoft > 0) { -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF, + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY, + lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); +- } else if (acpi_s2idle_vendor_amd()) { +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD, +- lps0_dsm_func_mask, lps0_dsm_guid); +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD, +- lps0_dsm_func_mask, lps0_dsm_guid); +- } else { +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF, +- lps0_dsm_func_mask, lps0_dsm_guid); +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY, +- lps0_dsm_func_mask, lps0_dsm_guid); ++ /* modern standby entry */ ++ acpi_sleep_run_lps0_dsm(ACPI_LPS0_MS_ENTRY, + lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_MS_EXIT, -+ lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY, -+ lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); -+ } else if (acpi_s2idle_vendor_amd()) { -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD, -+ lps0_dsm_func_mask, lps0_dsm_guid); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD, -+ lps0_dsm_func_mask, lps0_dsm_guid); - } else { -- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF); -- acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF, -+ lps0_dsm_func_mask, lps0_dsm_guid); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY, -+ lps0_dsm_func_mask, lps0_dsm_guid); } - +- return 0; -@@ -424,12 +470,23 @@ void acpi_s2idle_restore_early(void) + } + +@@ -476,24 +481,30 @@ void acpi_s2idle_restore_early(void) if (!lps0_device_handle || sleep_no_lps0) return; -- if (acpi_s2idle_vendor_amd()) { -- acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD); -- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD); -+ if (lps0_dsm_func_mask_microsoft > 0) { -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT, +- if (lps0_dsm_func_mask_microsoft > 0) { +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT, +- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); ++ /* Modern standby exit */ ++ if (lps0_dsm_func_mask_microsoft > 0) + acpi_sleep_run_lps0_dsm(ACPI_LPS0_MS_EXIT, + lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON, +- lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); +- } else if (acpi_s2idle_vendor_amd()) { +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD, +- lps0_dsm_func_mask, lps0_dsm_guid); +- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD, +- lps0_dsm_func_mask, lps0_dsm_guid); +- } else { ++ ++ /* LPS0 exit */ ++ if (lps0_dsm_func_mask > 0) ++ acpi_sleep_run_lps0_dsm(acpi_s2idle_vendor_amd() ? ++ ACPI_LPS0_EXIT_AMD : ++ ACPI_LPS0_EXIT, ++ lps0_dsm_func_mask, lps0_dsm_guid); ++ if (lps0_dsm_func_mask_microsoft > 0) + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT, +- lps0_dsm_func_mask, lps0_dsm_guid); + lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_MS_ENTRY, ++ ++ /* Screen on */ ++ if (lps0_dsm_func_mask_microsoft > 0) + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON, +- lps0_dsm_func_mask, lps0_dsm_guid); +- } + lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON, -+ lps0_dsm_func_mask_microsoft, lps0_dsm_guid_microsoft); -+ } else if (acpi_s2idle_vendor_amd()) { -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD, -+ lps0_dsm_func_mask, lps0_dsm_guid); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD, -+ lps0_dsm_func_mask, lps0_dsm_guid); - } else { -- acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT); -- acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT, -+ lps0_dsm_func_mask, lps0_dsm_guid); -+ acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON, -+ lps0_dsm_func_mask, lps0_dsm_guid); - } ++ if (lps0_dsm_func_mask > 0) ++ acpi_sleep_run_lps0_dsm(acpi_s2idle_vendor_amd() ? ++ ACPI_LPS0_SCREEN_ON_AMD : ++ ACPI_LPS0_SCREEN_ON, ++ lps0_dsm_func_mask, lps0_dsm_guid); } -diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c -index bdc1ba00aee9..f22f23933063 100644 ---- a/drivers/acpi/x86/utils.c -+++ b/drivers/acpi/x86/utils.c -@@ -135,3 +135,28 @@ bool acpi_device_always_present(struct acpi_device *adev) - - return ret; - } -+ -+/* -+ * AMD systems from Renoir and Lucienne *require* that the NVME controller -+ * is put into D3 over a Modern Standby / suspend-to-idle cycle. -+ * -+ * This is "typically" accomplished using the `StorageD3Enable` -+ * property in the _DSD that is checked via the `acpi_storage_d3` function -+ * but this property was introduced after many of these systems launched -+ * and most OEM systems don't have it in their BIOS. -+ * -+ * The Microsoft documentation for StorageD3Enable mentioned that Windows has -+ * a hardcoded allowlist for D3 support, which was used for these platforms. -+ * -+ * This allows quirking on Linux in a similar fashion. -+ */ -+static const struct x86_cpu_id storage_d3_cpu_ids[] = { -+ X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 96, NULL), /* Renoir */ -+ X86_MATCH_VENDOR_FAM_MODEL(AMD, 23, 104, NULL), /* Lucienne */ -+ {} -+}; -+ -+bool force_storage_d3(void) -+{ -+ return x86_match_cpu(storage_d3_cpu_ids); -+} + static const struct platform_s2idle_ops acpi_s2idle_ops_lps0 = { diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index fec2e9754aed..bea4e2973259 100644 --- a/drivers/ata/libahci.c @@ -755,10 +551,10 @@ index bbf7029e224b..cf7faa970dd6 100644 dmi_decode_ipmi((const struct dmi_header *) dev->device_data); diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c -index 8a0e97b33cae..32e4b183d102 100644 +index e96cb5c4f97a..d645460fe8a9 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c -@@ -34,6 +34,7 @@ +@@ -35,6 +35,7 @@ #include #include #include @@ -766,7 +562,7 @@ index 8a0e97b33cae..32e4b183d102 100644 #include #define IPMI_DRIVER_VERSION "39.2" -@@ -5159,8 +5160,21 @@ static int __init ipmi_init_msghandler_mod(void) +@@ -5160,8 +5161,21 @@ static int __init ipmi_init_msghandler_mod(void) { int rv; @@ -789,6 +585,189 @@ index 8a0e97b33cae..32e4b183d102 100644 mutex_lock(&ipmi_interfaces_mutex); rv = ipmi_register_driver(); mutex_unlock(&ipmi_interfaces_mutex); +diff --git a/drivers/char/random.c b/drivers/char/random.c +index 605969ed0f96..4d51f1c67675 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -335,6 +335,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -349,6 +350,11 @@ + + /* #define ADD_INTERRUPT_BENCH */ + ++/* ++ * Hook for external RNG. ++ */ ++static const struct random_extrng __rcu *extrng; ++ + /* + * Configuration information + */ +@@ -481,6 +487,9 @@ static int ratelimit_disable __read_mostly; + module_param_named(ratelimit_disable, ratelimit_disable, int, 0644); + MODULE_PARM_DESC(ratelimit_disable, "Disable random ratelimit suppression"); + ++static const struct file_operations extrng_random_fops; ++static const struct file_operations extrng_urandom_fops; ++ + /********************************************************************** + * + * OS independent entropy store. Here are the functions which handle +@@ -1858,6 +1867,13 @@ random_poll(struct file *file, poll_table * wait) + return mask; + } + ++static __poll_t ++extrng_poll(struct file *file, poll_table * wait) ++{ ++ /* extrng pool is always full, always read, no writes */ ++ return EPOLLIN | EPOLLRDNORM; ++} ++ + static int + write_pool(struct entropy_store *r, const char __user *buffer, size_t count) + { +@@ -1961,7 +1977,58 @@ static int random_fasync(int fd, struct file *filp, int on) + return fasync_helper(fd, filp, on, &fasync); + } + ++static int random_open(struct inode *inode, struct file *filp) ++{ ++ const struct random_extrng *rng; ++ ++ rcu_read_lock(); ++ rng = rcu_dereference(extrng); ++ if (rng && !try_module_get(rng->owner)) ++ rng = NULL; ++ rcu_read_unlock(); ++ ++ if (!rng) ++ return 0; ++ ++ filp->f_op = &extrng_random_fops; ++ filp->private_data = rng->owner; ++ ++ return 0; ++} ++ ++static int urandom_open(struct inode *inode, struct file *filp) ++{ ++ const struct random_extrng *rng; ++ ++ rcu_read_lock(); ++ rng = rcu_dereference(extrng); ++ if (rng && !try_module_get(rng->owner)) ++ rng = NULL; ++ rcu_read_unlock(); ++ ++ if (!rng) ++ return 0; ++ ++ filp->f_op = &extrng_urandom_fops; ++ filp->private_data = rng->owner; ++ ++ return 0; ++} ++ ++static int extrng_release(struct inode *inode, struct file *filp) ++{ ++ module_put(filp->private_data); ++ return 0; ++} ++ ++static ssize_t ++extrng_read(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos) ++{ ++ return rcu_dereference_raw(extrng)->extrng_read(buf, nbytes); ++} ++ + const struct file_operations random_fops = { ++ .open = random_open, + .read = random_read, + .write = random_write, + .poll = random_poll, +@@ -1972,6 +2039,7 @@ const struct file_operations random_fops = { + }; + + const struct file_operations urandom_fops = { ++ .open = urandom_open, + .read = urandom_read, + .write = random_write, + .unlocked_ioctl = random_ioctl, +@@ -1980,9 +2048,31 @@ const struct file_operations urandom_fops = { + .llseek = noop_llseek, + }; + ++static const struct file_operations extrng_random_fops = { ++ .open = random_open, ++ .read = extrng_read, ++ .write = random_write, ++ .poll = extrng_poll, ++ .unlocked_ioctl = random_ioctl, ++ .fasync = random_fasync, ++ .llseek = noop_llseek, ++ .release = extrng_release, ++}; ++ ++static const struct file_operations extrng_urandom_fops = { ++ .open = urandom_open, ++ .read = extrng_read, ++ .write = random_write, ++ .unlocked_ioctl = random_ioctl, ++ .fasync = random_fasync, ++ .llseek = noop_llseek, ++ .release = extrng_release, ++}; ++ + SYSCALL_DEFINE3(getrandom, char __user *, buf, size_t, count, + unsigned int, flags) + { ++ const struct random_extrng *rng; + int ret; + + if (flags & ~(GRND_NONBLOCK|GRND_RANDOM|GRND_INSECURE)) +@@ -1998,6 +2088,18 @@ SYSCALL_DEFINE3(getrandom, char __user *, buf, size_t, count, + if (count > INT_MAX) + count = INT_MAX; + ++ rcu_read_lock(); ++ rng = rcu_dereference(extrng); ++ if (rng && !try_module_get(rng->owner)) ++ rng = NULL; ++ rcu_read_unlock(); ++ ++ if (rng) { ++ ret = rng->extrng_read(buf, count); ++ module_put(rng->owner); ++ return ret; ++ } ++ + if (!(flags & GRND_INSECURE) && !crng_ready()) { + if (flags & GRND_NONBLOCK) + return -EAGAIN; +@@ -2303,3 +2405,16 @@ void add_bootloader_randomness(const void *buf, unsigned int size) + add_device_randomness(buf, size); + } + EXPORT_SYMBOL_GPL(add_bootloader_randomness); ++ ++void random_register_extrng(const struct random_extrng *rng) ++{ ++ rcu_assign_pointer(extrng, rng); ++} ++EXPORT_SYMBOL_GPL(random_register_extrng); ++ ++void random_unregister_extrng(void) ++{ ++ RCU_INIT_POINTER(extrng, NULL); ++ synchronize_rcu(); ++} ++EXPORT_SYMBOL_GPL(random_unregister_extrng); diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile index 467e94259679..9b6f5b8e5397 100644 --- a/drivers/firmware/efi/Makefile @@ -990,72 +969,6 @@ index 000000000000..de0a3714a5d4 + } + } +} -diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c -index ddee6d4f07cf..282a1c0f654a 100644 ---- a/drivers/gpu/drm/i915/display/intel_dp.c -+++ b/drivers/gpu/drm/i915/display/intel_dp.c -@@ -1318,14 +1318,16 @@ intel_dp_compute_link_config(struct intel_encoder *encoder, - limits.min_bpp = intel_dp_min_bpp(pipe_config->output_format); - limits.max_bpp = intel_dp_max_bpp(intel_dp, pipe_config); - -- if (intel_dp->use_max_params) { -+ if (intel_dp->use_max_params || -+ intel_dp->dpcd[DP_DPCD_REV] <= DP_DPCD_REV_11) { - /* - * Use the maximum clock and number of lanes the eDP panel - * advertizes being capable of in case the initial fast -- * optimal params failed us. The panels are generally -- * designed to support only a single clock and lane -- * configuration, and typically on older panels these -- * values correspond to the native resolution of the panel. -+ * optimal params failed us or the panel is DP 1.1 or earlier. -+ * The panels are generally designed to support only a single -+ * clock and lane configuration, and typically on older panels -+ * these values correspond to the native resolution of the -+ * panel. - */ - limits.min_lane_count = limits.max_lane_count; - limits.min_clock = limits.max_clock; -diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c -index 8ada4f829cab..4cec6b4d7fb9 100644 ---- a/drivers/gpu/drm/i915/display/intel_psr.c -+++ b/drivers/gpu/drm/i915/display/intel_psr.c -@@ -654,6 +654,13 @@ tgl_dc3co_exitline_compute_config(struct intel_dp *intel_dp, - struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); - u32 exit_scanlines; - -+ /* -+ * FIXME: Due to the changed sequence of activating/deactivating DC3CO, -+ * disable DC3CO until the changed dc3co activating/deactivating sequence -+ * is applied. B.Specs:49196 -+ */ -+ return; -+ - /* - * DMC's DC3CO exit mechanism has an issue with Selective Fecth - * TODO: when the issue is addressed, this restriction should be removed. -diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c -index 212bd87c0c4a..b8b066938e48 100644 ---- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c -+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c -@@ -114,6 +114,17 @@ static int rockchip_drm_bind(struct device *dev) - struct rockchip_drm_private *private; - int ret; - -+ /* Remove existing drivers that may own the framebuffer memory. */ -+ ret = drm_fb_helper_remove_conflicting_framebuffers(NULL, -+ "rockchip-drm-fb", -+ false); -+ if (ret) { -+ DRM_DEV_ERROR(dev, -+ "Failed to remove existing framebuffers - %d.\n", -+ ret); -+ return ret; -+ } -+ - drm_dev = drm_dev_alloc(&rockchip_drm_driver, dev); - if (IS_ERR(drm_dev)) - return PTR_ERR(drm_dev); diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c index 311eee599ce9..2460c6bd46f8 100644 --- a/drivers/hid/hid-rmi.c @@ -1157,7 +1070,7 @@ index 311eee599ce9..2460c6bd46f8 100644 data->xport.ops = &hid_rmi_ops; diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c -index db881993c211..92a1ebb9cea3 100644 +index da27cd4a3c38..5404b4c407c5 100644 --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c @@ -9,6 +9,7 @@ @@ -1168,7 +1081,7 @@ index db881993c211..92a1ebb9cea3 100644 #include #include #include -@@ -2076,6 +2077,16 @@ static const struct amba_id etm4_ids[] = { +@@ -2071,6 +2072,16 @@ static const struct amba_id etm4_ids[] = { {}, }; @@ -1185,7 +1098,7 @@ index db881993c211..92a1ebb9cea3 100644 MODULE_DEVICE_TABLE(amba, etm4_ids); static struct amba_driver etm4x_amba_driver = { -@@ -2109,6 +2120,11 @@ static int __init etm4x_init(void) +@@ -2104,6 +2115,11 @@ static int __init etm4x_init(void) { int ret; @@ -1197,7 +1110,7 @@ index db881993c211..92a1ebb9cea3 100644 ret = etm4_pm_setup(); /* etm4_pm_setup() does its own cleanup - exit on error */ -@@ -2135,6 +2151,9 @@ static int __init etm4x_init(void) +@@ -2130,6 +2146,9 @@ static int __init etm4x_init(void) static void __exit etm4x_exit(void) { @@ -1400,7 +1313,7 @@ index 258d5fe3d395..f7298e3dc8f3 100644 if (data->f01_container->dev.driver) { /* Driver already bound, so enable ATTN now. */ diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index db966a7841fe..8ae7a008b06f 100644 +index 63f0af10c403..195be16dbd39 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -7,6 +7,7 @@ @@ -1463,54 +1376,8 @@ index 75dbe77b0b4b..4bd6dd722f44 100644 ret = wg_allowedips_slab_init(); if (ret < 0) goto err_allowedips; -diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c -index 01feb1c2278d..ae4591aae2d7 100644 ---- a/drivers/nvme/host/pci.c -+++ b/drivers/nvme/host/pci.c -@@ -2880,32 +2880,6 @@ static unsigned long check_vendor_combination_bug(struct pci_dev *pdev) - return 0; - } - --#ifdef CONFIG_ACPI --static bool nvme_acpi_storage_d3(struct pci_dev *dev) --{ -- struct acpi_device *adev = ACPI_COMPANION(&dev->dev); -- u8 val; -- -- /* -- * Look for _DSD property specifying that the storage device on the port -- * must use D3 to support deep platform power savings during -- * suspend-to-idle. -- */ -- -- if (!adev) -- return false; -- if (fwnode_property_read_u8(acpi_fwnode_handle(adev), "StorageD3Enable", -- &val)) -- return false; -- return val == 1; --} --#else --static inline bool nvme_acpi_storage_d3(struct pci_dev *dev) --{ -- return false; --} --#endif /* CONFIG_ACPI */ -- - static void nvme_async_probe(void *data, async_cookie_t cookie) - { - struct nvme_dev *dev = data; -@@ -2955,7 +2929,7 @@ static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id) - - quirks |= check_vendor_combination_bug(pdev); - -- if (!noacpi && nvme_acpi_storage_d3(pdev)) { -+ if (!noacpi && acpi_storage_d3(&pdev->dev)) { - /* - * Some systems use a bios work around to ask for D3 on - * platforms that support kernel managed suspend. diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 1905ee0297a4..58fded74fb31 100644 +index 8c3c1ef92171..18431236ab9f 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -4232,6 +4232,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, @@ -1544,394 +1411,11 @@ index 1905ee0297a4..58fded74fb31 100644 /* * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) * class code. Fix it. -diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c -index ca95c2a52e26..e38e8288468f 100644 ---- a/drivers/platform/x86/amd-pmc.c -+++ b/drivers/platform/x86/amd-pmc.c -@@ -46,26 +46,70 @@ - #define AMD_PMC_RESULT_CMD_UNKNOWN 0xFE - #define AMD_PMC_RESULT_FAILED 0xFF - -+/* FCH SSC Registers */ -+#define FCH_S0I3_ENTRY_TIME_L_OFFSET 0x30 -+#define FCH_S0I3_ENTRY_TIME_H_OFFSET 0x34 -+#define FCH_S0I3_EXIT_TIME_L_OFFSET 0x38 -+#define FCH_S0I3_EXIT_TIME_H_OFFSET 0x3C -+#define FCH_SSC_MAPPING_SIZE 0x800 -+#define FCH_BASE_PHY_ADDR_LOW 0xFED81100 -+#define FCH_BASE_PHY_ADDR_HIGH 0x00000000 -+ -+/* SMU Message Definations */ -+#define SMU_MSG_GETSMUVERSION 0x02 -+#define SMU_MSG_LOG_GETDRAM_ADDR_HI 0x04 -+#define SMU_MSG_LOG_GETDRAM_ADDR_LO 0x05 -+#define SMU_MSG_LOG_START 0x06 -+#define SMU_MSG_LOG_RESET 0x07 -+#define SMU_MSG_LOG_DUMP_DATA 0x08 -+#define SMU_MSG_GET_SUP_CONSTRAINTS 0x09 - /* List of supported CPU ids */ - #define AMD_CPU_ID_RV 0x15D0 - #define AMD_CPU_ID_RN 0x1630 - #define AMD_CPU_ID_PCO AMD_CPU_ID_RV - #define AMD_CPU_ID_CZN AMD_CPU_ID_RN -+#define AMD_CPU_ID_YC 0x14B5 - - #define PMC_MSG_DELAY_MIN_US 100 - #define RESPONSE_REGISTER_LOOP_MAX 200 - -+#define SOC_SUBSYSTEM_IP_MAX 12 -+#define DELAY_MIN_US 2000 -+#define DELAY_MAX_US 3000 - enum amd_pmc_def { - MSG_TEST = 0x01, - MSG_OS_HINT_PCO, - MSG_OS_HINT_RN, - }; - -+struct amd_pmc_bit_map { -+ const char *name; -+ u32 bit_mask; -+}; -+ -+static const struct amd_pmc_bit_map soc15_ip_blk[] = { -+ {"DISPLAY", BIT(0)}, -+ {"CPU", BIT(1)}, -+ {"GFX", BIT(2)}, -+ {"VDD", BIT(3)}, -+ {"ACP", BIT(4)}, -+ {"VCN", BIT(5)}, -+ {"ISP", BIT(6)}, -+ {"NBIO", BIT(7)}, -+ {"DF", BIT(8)}, -+ {"USB0", BIT(9)}, -+ {"USB1", BIT(10)}, -+ {"LAPIC", BIT(11)}, -+ {} -+}; -+ - struct amd_pmc_dev { - void __iomem *regbase; -- void __iomem *smu_base; -+ void __iomem *smu_virt_addr; -+ void __iomem *fch_virt_addr; - u32 base_addr; - u32 cpu_id; -+ u32 active_ips; - struct device *dev; - struct mutex lock; /* generic mutex lock */ - #if IS_ENABLED(CONFIG_DEBUG_FS) -@@ -74,6 +118,7 @@ struct amd_pmc_dev { - }; - - static struct amd_pmc_dev pmc; -+static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set, u32 *data, u8 msg, bool ret); - - static inline u32 amd_pmc_reg_read(struct amd_pmc_dev *dev, int reg_offset) - { -@@ -85,13 +130,76 @@ static inline void amd_pmc_reg_write(struct amd_pmc_dev *dev, int reg_offset, u3 - iowrite32(val, dev->regbase + reg_offset); - } - -+struct smu_metrics { -+ u32 table_version; -+ u32 hint_count; -+ u32 s0i3_cyclecount; -+ u32 timein_s0i2; -+ u64 timeentering_s0i3_lastcapture; -+ u64 timeentering_s0i3_totaltime; -+ u64 timeto_resume_to_os_lastcapture; -+ u64 timeto_resume_to_os_totaltime; -+ u64 timein_s0i3_lastcapture; -+ u64 timein_s0i3_totaltime; -+ u64 timein_swdrips_lastcapture; -+ u64 timein_swdrips_totaltime; -+ u64 timecondition_notmet_lastcapture[SOC_SUBSYSTEM_IP_MAX]; -+ u64 timecondition_notmet_totaltime[SOC_SUBSYSTEM_IP_MAX]; -+} __packed; -+ - #ifdef CONFIG_DEBUG_FS - static int smu_fw_info_show(struct seq_file *s, void *unused) - { -+ struct amd_pmc_dev *dev = s->private; -+ struct smu_metrics table; -+ int idx; -+ -+ if (dev->cpu_id == AMD_CPU_ID_PCO) -+ return -EINVAL; -+ -+ memcpy_fromio(&table, dev->smu_virt_addr, sizeof(struct smu_metrics)); -+ -+ seq_puts(s, "\n=== SMU Statistics ===\n"); -+ seq_printf(s, "Table Version: %d\n", table.table_version); -+ seq_printf(s, "Hint Count: %d\n", table.hint_count); -+ seq_printf(s, "S0i3 Cycle Count: %d\n", table.s0i3_cyclecount); -+ seq_printf(s, "Time (in us) to S0i3: %lld\n", table.timeentering_s0i3_lastcapture); -+ seq_printf(s, "Time (in us) in S0i3: %lld\n", table.timein_s0i3_lastcapture); -+ -+ seq_puts(s, "\n=== Active time (in us) ===\n"); -+ for (idx = 0 ; idx < SOC_SUBSYSTEM_IP_MAX ; idx++) { -+ if (soc15_ip_blk[idx].bit_mask & dev->active_ips) -+ seq_printf(s, "%-8s : %lld\n", soc15_ip_blk[idx].name, -+ table.timecondition_notmet_lastcapture[idx]); -+ } -+ - return 0; - } - DEFINE_SHOW_ATTRIBUTE(smu_fw_info); - -+static int s0ix_stats_show(struct seq_file *s, void *unused) -+{ -+ struct amd_pmc_dev *dev = s->private; -+ u64 entry_time, exit_time, residency; -+ -+ entry_time = ioread32(dev->fch_virt_addr + FCH_S0I3_ENTRY_TIME_H_OFFSET); -+ entry_time = entry_time << 32 | ioread32(dev->fch_virt_addr + FCH_S0I3_ENTRY_TIME_L_OFFSET); -+ -+ exit_time = ioread32(dev->fch_virt_addr + FCH_S0I3_EXIT_TIME_H_OFFSET); -+ exit_time = exit_time << 32 | ioread32(dev->fch_virt_addr + FCH_S0I3_EXIT_TIME_L_OFFSET); -+ -+ /* It's in 48MHz. We need to convert it */ -+ residency = (exit_time - entry_time) / 48; -+ -+ seq_puts(s, "=== S0ix statistics ===\n"); -+ seq_printf(s, "S0ix Entry Time: %lld\n", entry_time); -+ seq_printf(s, "S0ix Exit Time: %lld\n", exit_time); -+ seq_printf(s, "Residency Time: %lld\n", residency); -+ -+ return 0; -+} -+DEFINE_SHOW_ATTRIBUTE(s0ix_stats); -+ - static void amd_pmc_dbgfs_unregister(struct amd_pmc_dev *dev) - { - debugfs_remove_recursive(dev->dbgfs_dir); -@@ -102,6 +210,8 @@ static void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev) - dev->dbgfs_dir = debugfs_create_dir("amd_pmc", NULL); - debugfs_create_file("smu_fw_info", 0644, dev->dbgfs_dir, dev, - &smu_fw_info_fops); -+ debugfs_create_file("s0ix_stats", 0644, dev->dbgfs_dir, dev, -+ &s0ix_stats_fops); - } - #else - static inline void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev) -@@ -113,6 +223,32 @@ static inline void amd_pmc_dbgfs_unregister(struct amd_pmc_dev *dev) - } - #endif /* CONFIG_DEBUG_FS */ - -+static int amd_pmc_setup_smu_logging(struct amd_pmc_dev *dev) -+{ -+ u32 phys_addr_low, phys_addr_hi; -+ u64 smu_phys_addr; -+ -+ if (dev->cpu_id == AMD_CPU_ID_PCO) -+ return -EINVAL; -+ -+ /* Get Active devices list from SMU */ -+ amd_pmc_send_cmd(dev, 0, &dev->active_ips, SMU_MSG_GET_SUP_CONSTRAINTS, 1); -+ -+ /* Get dram address */ -+ amd_pmc_send_cmd(dev, 0, &phys_addr_low, SMU_MSG_LOG_GETDRAM_ADDR_LO, 1); -+ amd_pmc_send_cmd(dev, 0, &phys_addr_hi, SMU_MSG_LOG_GETDRAM_ADDR_HI, 1); -+ smu_phys_addr = ((u64)phys_addr_hi << 32 | phys_addr_low); -+ -+ dev->smu_virt_addr = devm_ioremap(dev->dev, smu_phys_addr, sizeof(struct smu_metrics)); -+ if (!dev->smu_virt_addr) -+ return -ENOMEM; -+ -+ /* Start the logging */ -+ amd_pmc_send_cmd(dev, 0, NULL, SMU_MSG_LOG_START, 0); -+ -+ return 0; -+} -+ - static void amd_pmc_dump_registers(struct amd_pmc_dev *dev) - { - u32 value; -@@ -127,10 +263,9 @@ static void amd_pmc_dump_registers(struct amd_pmc_dev *dev) - dev_dbg(dev->dev, "AMD_PMC_REGISTER_MESSAGE:%x\n", value); - } - --static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set) -+static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set, u32 *data, u8 msg, bool ret) - { - int rc; -- u8 msg; - u32 val; - - mutex_lock(&dev->lock); -@@ -150,8 +285,8 @@ static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set) - amd_pmc_reg_write(dev, AMD_PMC_REGISTER_ARGUMENT, set); - - /* Write message ID to message ID register */ -- msg = (dev->cpu_id == AMD_CPU_ID_RN) ? MSG_OS_HINT_RN : MSG_OS_HINT_PCO; - amd_pmc_reg_write(dev, AMD_PMC_REGISTER_MESSAGE, msg); -+ - /* Wait until we get a valid response */ - rc = readx_poll_timeout(ioread32, dev->regbase + AMD_PMC_REGISTER_RESPONSE, - val, val != 0, PMC_MSG_DELAY_MIN_US, -@@ -163,6 +298,12 @@ static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set) - - switch (val) { - case AMD_PMC_RESULT_OK: -+ -+ if (ret) { -+ /* PMFW may take longer time to return back the data */ -+ usleep_range(DELAY_MIN_US, 10 * DELAY_MAX_US); -+ *data = amd_pmc_reg_read(dev, AMD_PMC_REGISTER_ARGUMENT); -+ } - break; - case AMD_PMC_RESULT_CMD_REJECT_BUSY: - dev_err(dev->dev, "SMU not ready. err: 0x%x\n", val); -@@ -182,32 +323,54 @@ static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set) - - out_unlock: - mutex_unlock(&dev->lock); -+ amd_pmc_dump_registers(dev); - return rc; - } - -+static int amd_pmc_get_os_hint(struct amd_pmc_dev *dev) -+{ -+ switch (dev->cpu_id) { -+ case AMD_CPU_ID_PCO: -+ return MSG_OS_HINT_PCO; -+ case AMD_CPU_ID_RN: -+ case AMD_CPU_ID_YC: -+ return MSG_OS_HINT_RN; -+ } -+ return -EINVAL; -+} -+ - static int __maybe_unused amd_pmc_suspend(struct device *dev) - { - struct amd_pmc_dev *pdev = dev_get_drvdata(dev); - int rc; -+ u8 msg; -+ -+ /* Reset and Start SMU logging - to monitor the s0i3 stats */ -+ amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_RESET, 0); -+ amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_START, 0); - -- rc = amd_pmc_send_cmd(pdev, 1); -+ msg = amd_pmc_get_os_hint(pdev); -+ rc = amd_pmc_send_cmd(pdev, 1, NULL, msg, 0); - if (rc) - dev_err(pdev->dev, "suspend failed\n"); - -- amd_pmc_dump_registers(pdev); -- return 0; -+ return rc; - } - - static int __maybe_unused amd_pmc_resume(struct device *dev) - { - struct amd_pmc_dev *pdev = dev_get_drvdata(dev); - int rc; -+ u8 msg; -+ -+ /* Let SMU know that we are looking for stats */ -+ amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_DUMP_DATA, 0); - -- rc = amd_pmc_send_cmd(pdev, 0); -+ msg = amd_pmc_get_os_hint(pdev); -+ rc = amd_pmc_send_cmd(pdev, 0, NULL, msg, 0); - if (rc) - dev_err(pdev->dev, "resume failed\n"); - -- amd_pmc_dump_registers(pdev); - return 0; - } - -@@ -216,6 +379,7 @@ static const struct dev_pm_ops amd_pmc_pm_ops = { - }; - - static const struct pci_device_id pmc_pci_ids[] = { -+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_YC) }, - { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_CZN) }, - { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_RN) }, - { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_PCO) }, -@@ -227,9 +391,8 @@ static int amd_pmc_probe(struct platform_device *pdev) - { - struct amd_pmc_dev *dev = &pmc; - struct pci_dev *rdev; -- u32 base_addr_lo; -- u32 base_addr_hi; -- u64 base_addr; -+ u32 base_addr_lo, base_addr_hi; -+ u64 base_addr, fch_phys_addr; - int err; - u32 val; - -@@ -279,7 +442,20 @@ static int amd_pmc_probe(struct platform_device *pdev) - if (!dev->regbase) - return -ENOMEM; - -- amd_pmc_dump_registers(dev); -+ mutex_init(&dev->lock); -+ -+ /* Use FCH registers to get the S0ix stats */ -+ base_addr_lo = FCH_BASE_PHY_ADDR_LOW; -+ base_addr_hi = FCH_BASE_PHY_ADDR_HIGH; -+ fch_phys_addr = ((u64)base_addr_hi << 32 | base_addr_lo); -+ dev->fch_virt_addr = devm_ioremap(dev->dev, fch_phys_addr, FCH_SSC_MAPPING_SIZE); -+ if (!dev->fch_virt_addr) -+ return -ENOMEM; -+ -+ /* Use SMU to get the s0i3 debug stats */ -+ err = amd_pmc_setup_smu_logging(dev); -+ if (err) -+ dev_err(dev->dev, "SMU debugging info not supported on this platform\n"); - - mutex_init(&dev->lock); - platform_set_drvdata(pdev, dev); -@@ -298,6 +474,8 @@ static int amd_pmc_remove(struct platform_device *pdev) - - static const struct acpi_device_id amd_pmc_acpi_ids[] = { - {"AMDI0005", 0}, -+ {"AMDI0006", 0}, -+ {"AMDI0007", 0}, - {"AMD0004", 0}, - { } - }; -diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c -index f573517e8f6e..88c5ae02bade 100644 ---- a/drivers/scsi/smartpqi/smartpqi_init.c -+++ b/drivers/scsi/smartpqi/smartpqi_init.c -@@ -8809,6 +8809,18 @@ static const struct pci_device_id pqi_pci_id_table[] = { - PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, - 0x19e5, 0xd22c) - }, -+ { -+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, -+ 0x1bd4, 0x004a) -+ }, -+ { -+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, -+ 0x1bd4, 0x004b) -+ }, -+ { -+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, -+ 0x1bd4, 0x004c) -+ }, - { - PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, - PCI_VENDOR_ID_ADAPTEC2, 0x0110) -@@ -9065,6 +9077,10 @@ static const struct pci_device_id pqi_pci_id_table[] = { - PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, - PCI_VENDOR_ID_ADVANTECH, 0x8312) - }, -+ { -+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, -+ PCI_VENDOR_ID_ADVANTECH, 0x8312) -+ }, - { - PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f, - PCI_VENDOR_ID_DELL, 0x1fe0) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 4e123336e410..22d98f536d90 100644 +index 86658a81d284..5647f4756e97 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5635,6 +5635,13 @@ static void hub_event(struct work_struct *work) +@@ -5657,6 +5657,13 @@ static void hub_event(struct work_struct *work) (u16) hub->change_bits[0], (u16) hub->event_bits[0]); @@ -1945,29 +1429,32 @@ index 4e123336e410..22d98f536d90 100644 /* Lock the device, then check to see if we were * disconnected while waiting for the lock to succeed. */ usb_lock_device(hdev); -diff --git a/include/linux/acpi.h b/include/linux/acpi.h -index c60745f657e9..dd0dafd21e33 100644 ---- a/include/linux/acpi.h -+++ b/include/linux/acpi.h -@@ -1004,6 +1004,7 @@ int acpi_dev_resume(struct device *dev); - int acpi_subsys_runtime_suspend(struct device *dev); - int acpi_subsys_runtime_resume(struct device *dev); - int acpi_dev_pm_attach(struct device *dev, bool power_on); -+bool acpi_storage_d3(struct device *dev); - #else - static inline int acpi_subsys_runtime_suspend(struct device *dev) { return 0; } - static inline int acpi_subsys_runtime_resume(struct device *dev) { return 0; } -@@ -1011,6 +1012,10 @@ static inline int acpi_dev_pm_attach(struct device *dev, bool power_on) - { - return 0; - } -+static inline bool acpi_storage_d3(struct device *dev) -+{ -+ return false; -+} - #endif +diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c +index 2c9e26a44546..f96324912d6a 100644 +--- a/fs/xfs/xfs_super.c ++++ b/fs/xfs/xfs_super.c +@@ -1539,10 +1539,6 @@ xfs_fs_fill_super( + if (XFS_SB_VERSION_NUM(&mp->m_sb) == XFS_SB_VERSION_5) + sb->s_flags |= SB_I_VERSION; - #if defined(CONFIG_ACPI) && defined(CONFIG_PM_SLEEP) +- if (xfs_sb_version_hasbigtime(&mp->m_sb)) +- xfs_warn(mp, +- "EXPERIMENTAL big timestamp feature in use. Use at your own risk!"); +- + if (mp->m_flags & XFS_MOUNT_DAX_ALWAYS) { + bool rtdev_is_dax = false, datadev_is_dax; + +@@ -1598,10 +1594,6 @@ xfs_fs_fill_super( + goto out_filestream_unmount; + } + +- if (xfs_sb_version_hasinobtcounts(&mp->m_sb)) +- xfs_warn(mp, +- "EXPERIMENTAL inode btree counters feature in use. Use at your own risk!"); +- + error = xfs_mountfs(mp); + if (error) + goto out_filestream_unmount; diff --git a/include/linux/efi.h b/include/linux/efi.h index 6b5d36babfcc..fd4a5d66a9d0 100644 --- a/include/linux/efi.h @@ -2037,10 +1524,10 @@ index 6b5d36babfcc..fd4a5d66a9d0 100644 enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var) { diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h -index 04c01794de83..26f8df026fa9 100644 +index 2adeea44c0d5..517013ece679 100644 --- a/include/linux/lsm_hook_defs.h +++ b/include/linux/lsm_hook_defs.h -@@ -395,6 +395,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux) +@@ -394,6 +394,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux) #endif /* CONFIG_BPF_SYSCALL */ LSM_HOOK(int, 0, locked_down, enum lockdown_reason what) @@ -2066,6 +1553,31 @@ index 5c4c5c0602cb..753b53038690 100644 * Security hooks for perf events * * @perf_event_open: +diff --git a/include/linux/random.h b/include/linux/random.h +index f45b8be3e3c4..7ccdec68b789 100644 +--- a/include/linux/random.h ++++ b/include/linux/random.h +@@ -14,6 +14,11 @@ + + #include + ++struct random_extrng { ++ ssize_t (*extrng_read)(void __user *buf, size_t buflen); ++ struct module *owner; ++}; ++ + struct random_ready_callback { + struct list_head list; + void (*func)(struct random_ready_callback *rdy); +@@ -44,6 +49,8 @@ extern bool rng_is_initialized(void); + extern int add_random_ready_callback(struct random_ready_callback *rdy); + extern void del_random_ready_callback(struct random_ready_callback *rdy); + extern int __must_check get_random_bytes_arch(void *buf, int nbytes); ++void random_register_extrng(const struct random_extrng *rng); ++void random_unregister_extrng(void); + + #ifndef MODULE + extern const struct file_operations random_fops, urandom_fops; diff --git a/include/linux/rmi.h b/include/linux/rmi.h index ab7eea01ab42..fff7c5f737fc 100644 --- a/include/linux/rmi.h @@ -2079,7 +1591,7 @@ index ab7eea01ab42..fff7c5f737fc 100644 int rmi_register_transport_device(struct rmi_transport_dev *xport); diff --git a/include/linux/security.h b/include/linux/security.h -index 0acd1b68bf30..a02717d46d6d 100644 +index 5b7288521300..f966f591c91e 100644 --- a/include/linux/security.h +++ b/include/linux/security.h @@ -472,6 +472,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen); @@ -2102,10 +1614,10 @@ index 0acd1b68bf30..a02717d46d6d 100644 #if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE) diff --git a/init/Kconfig b/init/Kconfig -index a61c92066c2e..94107b1d0e3e 100644 +index 55f9f7738ebb..564553afb251 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1622,7 +1622,7 @@ config AIO +@@ -1625,7 +1625,7 @@ config AIO this option saves about 7k. config IO_URING @@ -2114,71 +1626,6 @@ index a61c92066c2e..94107b1d0e3e 100644 select IO_WQ default y help -diff --git a/kernel/crash_core.c b/kernel/crash_core.c -index 684a6061a13a..220579c0e963 100644 ---- a/kernel/crash_core.c -+++ b/kernel/crash_core.c -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -41,6 +42,15 @@ static int __init parse_crashkernel_mem(char *cmdline, - unsigned long long *crash_base) - { - char *cur = cmdline, *tmp; -+ unsigned long long total_mem = system_ram; -+ -+ /* -+ * Firmware sometimes reserves some memory regions for it's own use. -+ * so we get less than actual system memory size. -+ * Workaround this by round up the total size to 128M which is -+ * enough for most test cases. -+ */ -+ total_mem = roundup(total_mem, SZ_128M); - - /* for each entry of the comma-separated list */ - do { -@@ -85,13 +95,13 @@ static int __init parse_crashkernel_mem(char *cmdline, - return -EINVAL; - } - cur = tmp; -- if (size >= system_ram) { -+ if (size >= total_mem) { - pr_warn("crashkernel: invalid size\n"); - return -EINVAL; - } - - /* match ? */ -- if (system_ram >= start && system_ram < end) { -+ if (total_mem >= start && total_mem < end) { - *crash_size = size; - break; - } -@@ -250,6 +260,20 @@ static int __init __parse_crashkernel(char *cmdline, - if (suffix) - return parse_crashkernel_suffix(ck_cmdline, crash_size, - suffix); -+ -+ if (strncmp(ck_cmdline, "auto", 4) == 0) { -+#ifdef CONFIG_X86_64 -+ ck_cmdline = "1G-64G:160M,64G-1T:256M,1T-:512M"; -+#elif defined(CONFIG_S390) -+ ck_cmdline = "4G-64G:160M,64G-1T:256M,1T-:512M"; -+#elif defined(CONFIG_ARM64) -+ ck_cmdline = "2G-:512M"; -+#elif defined(CONFIG_PPC64) -+ ck_cmdline = "2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G"; -+#endif -+ pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n"); -+ } -+ - /* - * if the commandline contains a ':', then that's the extended - * syntax -- if not, it must be the classic syntax diff --git a/kernel/module_signing.c b/kernel/module_signing.c index 8723ae70ea1f..fb2d773498c2 100644 --- a/kernel/module_signing.c @@ -2200,6 +1647,34 @@ index 8723ae70ea1f..fb2d773498c2 100644 + } + return ret; } +diff --git a/mm/cma.c b/mm/cma.c +index 995e15480937..588f7e7885cf 100644 +--- a/mm/cma.c ++++ b/mm/cma.c +@@ -125,6 +125,12 @@ static void __init cma_activate_area(struct cma *cma) + spin_lock_init(&cma->mem_head_lock); + #endif + ++#ifdef CONFIG_RHEL_DIFFERENCES ++ /* s390x and ppc64 has been using CMA already in RHEL 8 as default. */ ++ if (!IS_ENABLED(CONFIG_S390) && !IS_ENABLED(CONFIG_PPC64)) ++ mark_tech_preview("CMA", NULL); ++#endif /* CONFIG_RHEL_DIFFERENCES */ ++ + return; + + not_in_zone: +@@ -437,6 +443,10 @@ struct page *cma_alloc(struct cma *cma, unsigned long count, + if (!cma || !cma->count || !cma->bitmap) + goto out; + ++#ifdef CONFIG_RHEL_DIFFERENCES ++ pr_info_once("Initial CMA usage detected\n"); ++#endif /* CONFIG_RHEL_DIFFERENCES */ ++ + pr_debug("%s(cma %p, count %lu, align %d)\n", __func__, (void *)cma, + count, align); + diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c index f290f78c3f30..d3e7ae04f5be 100644 --- a/security/integrity/platform_certs/load_uefi.c @@ -2261,7 +1736,7 @@ index 87cbdc64d272..18555cf18da7 100644 static int __init lockdown_lsm_init(void) diff --git a/security/security.c b/security/security.c -index 0d626c0dafcc..61696b1f5d3f 100644 +index 9ffa9e9c5c55..36484cc9842d 100644 --- a/security/security.c +++ b/security/security.c @@ -2599,6 +2599,12 @@ int security_locked_down(enum lockdown_reason what) @@ -2277,711 +1752,18 @@ index 0d626c0dafcc..61696b1f5d3f 100644 #ifdef CONFIG_PERF_EVENTS int security_perf_event_open(struct perf_event_attr *attr, int type) { -diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c -index 78262c659983..f4b25ae7fd5a 100644 ---- a/sound/soc/intel/boards/sof_rt5682.c -+++ b/sound/soc/intel/boards/sof_rt5682.c -@@ -155,6 +155,20 @@ static const struct dmi_system_id sof_rt5682_quirk_table[] = { - SOF_RT5682_SSP_AMP(2) | - SOF_RT5682_NUM_HDMIDEV(4)), - }, -+ { -+ .callback = sof_rt5682_quirk_cb, -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "Alder Lake Client Platform"), -+ DMI_MATCH(DMI_OEM_STRING, "AUDIO-ADL_MAX98373_ALC5682I_I2S"), -+ }, -+ .driver_data = (void *)(SOF_RT5682_MCLK_EN | -+ SOF_RT5682_SSP_CODEC(0) | -+ SOF_SPEAKER_AMP_PRESENT | -+ SOF_MAX98373_SPEAKER_AMP_PRESENT | -+ SOF_RT5682_SSP_AMP(2) | -+ SOF_RT5682_NUM_HDMIDEV(4)), -+ }, - {} - }; - -diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c -index 3ca7e1ab48ab..3635d8002ecf 100644 ---- a/sound/soc/intel/boards/sof_sdw.c -+++ b/sound/soc/intel/boards/sof_sdw.c -@@ -128,6 +128,18 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = { - SOF_RT711_JD_SRC_JD2 | - SOF_RT715_DAI_ID_FIX), - }, -+ { -+ /* Dell XPS 9710 */ -+ .callback = sof_sdw_quirk_cb, -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), -+ DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A5D") -+ }, -+ .driver_data = (void *)(SOF_SDW_TGL_HDMI | -+ SOF_RT711_JD_SRC_JD2 | -+ SOF_RT715_DAI_ID_FIX | -+ SOF_SDW_FOUR_SPK), -+ }, - { - .callback = sof_sdw_quirk_cb, - .matches = { -diff --git a/sound/soc/intel/boards/sof_sdw_max98373.c b/sound/soc/intel/boards/sof_sdw_max98373.c -index 25daef910aee..25f9065b627c 100644 ---- a/sound/soc/intel/boards/sof_sdw_max98373.c -+++ b/sound/soc/intel/boards/sof_sdw_max98373.c -@@ -90,7 +90,7 @@ static int mx8373_enable_spk_pin(struct snd_pcm_substream *substream, bool enabl - - static int mx8373_sdw_prepare(struct snd_pcm_substream *substream) - { -- int ret = 0; -+ int ret; - - /* according to soc_pcm_prepare dai link prepare is called first */ - ret = sdw_prepare(substream); -@@ -102,7 +102,7 @@ static int mx8373_sdw_prepare(struct snd_pcm_substream *substream) - - static int mx8373_sdw_hw_free(struct snd_pcm_substream *substream) - { -- int ret = 0; -+ int ret; - - /* according to soc_pcm_hw_free dai link free is called first */ - ret = sdw_hw_free(substream); -diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c -index 3489dc1b48f6..2bdf3cf37422 100644 ---- a/sound/soc/sof/sof-pci-dev.c -+++ b/sound/soc/sof/sof-pci-dev.c -@@ -50,6 +50,15 @@ static const struct dmi_system_id sof_tplg_table[] = { - }, - .driver_data = "sof-tgl-rt5682-ssp0-max98373-ssp2.tplg", - }, -+ { -+ .callback = sof_tplg_cb, -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "Alder Lake Client Platform"), -+ DMI_MATCH(DMI_OEM_STRING, "AUDIO-ADL_MAX98373_ALC5682I_I2S"), -+ }, -+ .driver_data = "sof-adl-rt5682-ssp0-max98373-ssp2.tplg", -+ }, - {} - }; - diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile -index 511259c2c6c5..bd2ca0032883 100644 +index f405b20c1e6c..a8e298a22709 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile -@@ -409,7 +409,6 @@ $(TRUNNER_TEST_OBJS): $(TRUNNER_OUTPUT)/%.test.o: \ - $(TRUNNER_EXTRA_HDRS) \ +@@ -424,7 +424,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/atomics.c b/tools/testing/selftests/bpf/prog_tests/atomics.c -deleted file mode 100644 -index 21efe7bbf10d..000000000000 ---- a/tools/testing/selftests/bpf/prog_tests/atomics.c -+++ /dev/null -@@ -1,246 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 -- --#include -- --#include "atomics.skel.h" -- --static void test_add(struct atomics *skel) --{ -- int err, prog_fd; -- __u32 duration = 0, retval; -- struct bpf_link *link; -- -- link = bpf_program__attach(skel->progs.add); -- if (CHECK(IS_ERR(link), "attach(add)", "err: %ld\n", PTR_ERR(link))) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.add); -- err = bpf_prog_test_run(prog_fd, 1, NULL, 0, -- NULL, NULL, &retval, &duration); -- if (CHECK(err || retval, "test_run add", -- "err %d errno %d retval %d duration %d\n", err, errno, retval, duration)) -- goto cleanup; -- -- ASSERT_EQ(skel->data->add64_value, 3, "add64_value"); -- ASSERT_EQ(skel->bss->add64_result, 1, "add64_result"); -- -- ASSERT_EQ(skel->data->add32_value, 3, "add32_value"); -- ASSERT_EQ(skel->bss->add32_result, 1, "add32_result"); -- -- ASSERT_EQ(skel->bss->add_stack_value_copy, 3, "add_stack_value"); -- ASSERT_EQ(skel->bss->add_stack_result, 1, "add_stack_result"); -- -- ASSERT_EQ(skel->data->add_noreturn_value, 3, "add_noreturn_value"); -- --cleanup: -- bpf_link__destroy(link); --} -- --static void test_sub(struct atomics *skel) --{ -- int err, prog_fd; -- __u32 duration = 0, retval; -- struct bpf_link *link; -- -- link = bpf_program__attach(skel->progs.sub); -- if (CHECK(IS_ERR(link), "attach(sub)", "err: %ld\n", PTR_ERR(link))) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.sub); -- err = bpf_prog_test_run(prog_fd, 1, NULL, 0, -- NULL, NULL, &retval, &duration); -- if (CHECK(err || retval, "test_run sub", -- "err %d errno %d retval %d duration %d\n", -- err, errno, retval, duration)) -- goto cleanup; -- -- ASSERT_EQ(skel->data->sub64_value, -1, "sub64_value"); -- ASSERT_EQ(skel->bss->sub64_result, 1, "sub64_result"); -- -- ASSERT_EQ(skel->data->sub32_value, -1, "sub32_value"); -- ASSERT_EQ(skel->bss->sub32_result, 1, "sub32_result"); -- -- ASSERT_EQ(skel->bss->sub_stack_value_copy, -1, "sub_stack_value"); -- ASSERT_EQ(skel->bss->sub_stack_result, 1, "sub_stack_result"); -- -- ASSERT_EQ(skel->data->sub_noreturn_value, -1, "sub_noreturn_value"); -- --cleanup: -- bpf_link__destroy(link); --} -- --static void test_and(struct atomics *skel) --{ -- int err, prog_fd; -- __u32 duration = 0, retval; -- struct bpf_link *link; -- -- link = bpf_program__attach(skel->progs.and); -- if (CHECK(IS_ERR(link), "attach(and)", "err: %ld\n", PTR_ERR(link))) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.and); -- err = bpf_prog_test_run(prog_fd, 1, NULL, 0, -- NULL, NULL, &retval, &duration); -- if (CHECK(err || retval, "test_run and", -- "err %d errno %d retval %d duration %d\n", err, errno, retval, duration)) -- goto cleanup; -- -- ASSERT_EQ(skel->data->and64_value, 0x010ull << 32, "and64_value"); -- ASSERT_EQ(skel->bss->and64_result, 0x110ull << 32, "and64_result"); -- -- ASSERT_EQ(skel->data->and32_value, 0x010, "and32_value"); -- ASSERT_EQ(skel->bss->and32_result, 0x110, "and32_result"); -- -- ASSERT_EQ(skel->data->and_noreturn_value, 0x010ull << 32, "and_noreturn_value"); --cleanup: -- bpf_link__destroy(link); --} -- --static void test_or(struct atomics *skel) --{ -- int err, prog_fd; -- __u32 duration = 0, retval; -- struct bpf_link *link; -- -- link = bpf_program__attach(skel->progs.or); -- if (CHECK(IS_ERR(link), "attach(or)", "err: %ld\n", PTR_ERR(link))) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.or); -- err = bpf_prog_test_run(prog_fd, 1, NULL, 0, -- NULL, NULL, &retval, &duration); -- if (CHECK(err || retval, "test_run or", -- "err %d errno %d retval %d duration %d\n", -- err, errno, retval, duration)) -- goto cleanup; -- -- ASSERT_EQ(skel->data->or64_value, 0x111ull << 32, "or64_value"); -- ASSERT_EQ(skel->bss->or64_result, 0x110ull << 32, "or64_result"); -- -- ASSERT_EQ(skel->data->or32_value, 0x111, "or32_value"); -- ASSERT_EQ(skel->bss->or32_result, 0x110, "or32_result"); -- -- ASSERT_EQ(skel->data->or_noreturn_value, 0x111ull << 32, "or_noreturn_value"); --cleanup: -- bpf_link__destroy(link); --} -- --static void test_xor(struct atomics *skel) --{ -- int err, prog_fd; -- __u32 duration = 0, retval; -- struct bpf_link *link; -- -- link = bpf_program__attach(skel->progs.xor); -- if (CHECK(IS_ERR(link), "attach(xor)", "err: %ld\n", PTR_ERR(link))) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.xor); -- err = bpf_prog_test_run(prog_fd, 1, NULL, 0, -- NULL, NULL, &retval, &duration); -- if (CHECK(err || retval, "test_run xor", -- "err %d errno %d retval %d duration %d\n", err, errno, retval, duration)) -- goto cleanup; -- -- ASSERT_EQ(skel->data->xor64_value, 0x101ull << 32, "xor64_value"); -- ASSERT_EQ(skel->bss->xor64_result, 0x110ull << 32, "xor64_result"); -- -- ASSERT_EQ(skel->data->xor32_value, 0x101, "xor32_value"); -- ASSERT_EQ(skel->bss->xor32_result, 0x110, "xor32_result"); -- -- ASSERT_EQ(skel->data->xor_noreturn_value, 0x101ull << 32, "xor_nxoreturn_value"); --cleanup: -- bpf_link__destroy(link); --} -- --static void test_cmpxchg(struct atomics *skel) --{ -- int err, prog_fd; -- __u32 duration = 0, retval; -- struct bpf_link *link; -- -- link = bpf_program__attach(skel->progs.cmpxchg); -- if (CHECK(IS_ERR(link), "attach(cmpxchg)", "err: %ld\n", PTR_ERR(link))) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.cmpxchg); -- err = bpf_prog_test_run(prog_fd, 1, NULL, 0, -- NULL, NULL, &retval, &duration); -- if (CHECK(err || retval, "test_run add", -- "err %d errno %d retval %d duration %d\n", err, errno, retval, duration)) -- goto cleanup; -- -- ASSERT_EQ(skel->data->cmpxchg64_value, 2, "cmpxchg64_value"); -- ASSERT_EQ(skel->bss->cmpxchg64_result_fail, 1, "cmpxchg_result_fail"); -- ASSERT_EQ(skel->bss->cmpxchg64_result_succeed, 1, "cmpxchg_result_succeed"); -- -- ASSERT_EQ(skel->data->cmpxchg32_value, 2, "lcmpxchg32_value"); -- ASSERT_EQ(skel->bss->cmpxchg32_result_fail, 1, "cmpxchg_result_fail"); -- ASSERT_EQ(skel->bss->cmpxchg32_result_succeed, 1, "cmpxchg_result_succeed"); -- --cleanup: -- bpf_link__destroy(link); --} -- --static void test_xchg(struct atomics *skel) --{ -- int err, prog_fd; -- __u32 duration = 0, retval; -- struct bpf_link *link; -- -- link = bpf_program__attach(skel->progs.xchg); -- if (CHECK(IS_ERR(link), "attach(xchg)", "err: %ld\n", PTR_ERR(link))) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.xchg); -- err = bpf_prog_test_run(prog_fd, 1, NULL, 0, -- NULL, NULL, &retval, &duration); -- if (CHECK(err || retval, "test_run add", -- "err %d errno %d retval %d duration %d\n", err, errno, retval, duration)) -- goto cleanup; -- -- ASSERT_EQ(skel->data->xchg64_value, 2, "xchg64_value"); -- ASSERT_EQ(skel->bss->xchg64_result, 1, "xchg64_result"); -- -- ASSERT_EQ(skel->data->xchg32_value, 2, "xchg32_value"); -- ASSERT_EQ(skel->bss->xchg32_result, 1, "xchg32_result"); -- --cleanup: -- bpf_link__destroy(link); --} -- --void test_atomics(void) --{ -- struct atomics *skel; -- __u32 duration = 0; -- -- skel = atomics__open_and_load(); -- if (CHECK(!skel, "skel_load", "atomics skeleton failed\n")) -- return; -- -- if (skel->data->skip_tests) { -- printf("%s:SKIP:no ENABLE_ATOMICS_TESTS (missing Clang BPF atomics support)", -- __func__); -- test__skip(); -- goto cleanup; -- } -- -- if (test__start_subtest("add")) -- test_add(skel); -- if (test__start_subtest("sub")) -- test_sub(skel); -- if (test__start_subtest("and")) -- test_and(skel); -- if (test__start_subtest("or")) -- test_or(skel); -- if (test__start_subtest("xor")) -- test_xor(skel); -- if (test__start_subtest("cmpxchg")) -- test_cmpxchg(skel); -- if (test__start_subtest("xchg")) -- test_xchg(skel); -- --cleanup: -- atomics__destroy(skel); --} -diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_tcp_ca.c b/tools/testing/selftests/bpf/prog_tests/bpf_tcp_ca.c -deleted file mode 100644 -index e25917f04602..000000000000 ---- a/tools/testing/selftests/bpf/prog_tests/bpf_tcp_ca.c -+++ /dev/null -@@ -1,280 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 --/* Copyright (c) 2019 Facebook */ -- --#include --#include --#include --#include "bpf_dctcp.skel.h" --#include "bpf_cubic.skel.h" --#include "bpf_tcp_nogpl.skel.h" -- --#define min(a, b) ((a) < (b) ? (a) : (b)) -- --static const unsigned int total_bytes = 10 * 1024 * 1024; --static const struct timeval timeo_sec = { .tv_sec = 10 }; --static const size_t timeo_optlen = sizeof(timeo_sec); --static int expected_stg = 0xeB9F; --static int stop, duration; -- --static int settimeo(int fd) --{ -- int err; -- -- err = setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &timeo_sec, -- timeo_optlen); -- if (CHECK(err == -1, "setsockopt(fd, SO_RCVTIMEO)", "errno:%d\n", -- errno)) -- return -1; -- -- err = setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &timeo_sec, -- timeo_optlen); -- if (CHECK(err == -1, "setsockopt(fd, SO_SNDTIMEO)", "errno:%d\n", -- errno)) -- return -1; -- -- return 0; --} -- --static int settcpca(int fd, const char *tcp_ca) --{ -- int err; -- -- err = setsockopt(fd, IPPROTO_TCP, TCP_CONGESTION, tcp_ca, strlen(tcp_ca)); -- if (CHECK(err == -1, "setsockopt(fd, TCP_CONGESTION)", "errno:%d\n", -- errno)) -- return -1; -- -- return 0; --} -- --static void *server(void *arg) --{ -- int lfd = (int)(long)arg, err = 0, fd; -- ssize_t nr_sent = 0, bytes = 0; -- char batch[1500]; -- -- fd = accept(lfd, NULL, NULL); -- while (fd == -1) { -- if (errno == EINTR) -- continue; -- err = -errno; -- goto done; -- } -- -- if (settimeo(fd)) { -- err = -errno; -- goto done; -- } -- -- while (bytes < total_bytes && !READ_ONCE(stop)) { -- nr_sent = send(fd, &batch, -- min(total_bytes - bytes, sizeof(batch)), 0); -- if (nr_sent == -1 && errno == EINTR) -- continue; -- if (nr_sent == -1) { -- err = -errno; -- break; -- } -- bytes += nr_sent; -- } -- -- CHECK(bytes != total_bytes, "send", "%zd != %u nr_sent:%zd errno:%d\n", -- bytes, total_bytes, nr_sent, errno); -- --done: -- if (fd != -1) -- close(fd); -- if (err) { -- WRITE_ONCE(stop, 1); -- return ERR_PTR(err); -- } -- return NULL; --} -- --static void do_test(const char *tcp_ca, const struct bpf_map *sk_stg_map) --{ -- struct sockaddr_in6 sa6 = {}; -- ssize_t nr_recv = 0, bytes = 0; -- int lfd = -1, fd = -1; -- pthread_t srv_thread; -- socklen_t addrlen = sizeof(sa6); -- void *thread_ret; -- char batch[1500]; -- int err; -- -- WRITE_ONCE(stop, 0); -- -- lfd = socket(AF_INET6, SOCK_STREAM, 0); -- if (CHECK(lfd == -1, "socket", "errno:%d\n", errno)) -- return; -- fd = socket(AF_INET6, SOCK_STREAM, 0); -- if (CHECK(fd == -1, "socket", "errno:%d\n", errno)) { -- close(lfd); -- return; -- } -- -- if (settcpca(lfd, tcp_ca) || settcpca(fd, tcp_ca) || -- settimeo(lfd) || settimeo(fd)) -- goto done; -- -- /* bind, listen and start server thread to accept */ -- sa6.sin6_family = AF_INET6; -- sa6.sin6_addr = in6addr_loopback; -- err = bind(lfd, (struct sockaddr *)&sa6, addrlen); -- if (CHECK(err == -1, "bind", "errno:%d\n", errno)) -- goto done; -- err = getsockname(lfd, (struct sockaddr *)&sa6, &addrlen); -- if (CHECK(err == -1, "getsockname", "errno:%d\n", errno)) -- goto done; -- err = listen(lfd, 1); -- if (CHECK(err == -1, "listen", "errno:%d\n", errno)) -- goto done; -- -- if (sk_stg_map) { -- err = bpf_map_update_elem(bpf_map__fd(sk_stg_map), &fd, -- &expected_stg, BPF_NOEXIST); -- if (CHECK(err, "bpf_map_update_elem(sk_stg_map)", -- "err:%d errno:%d\n", err, errno)) -- goto done; -- } -- -- /* connect to server */ -- err = connect(fd, (struct sockaddr *)&sa6, addrlen); -- if (CHECK(err == -1, "connect", "errno:%d\n", errno)) -- goto done; -- -- if (sk_stg_map) { -- int tmp_stg; -- -- err = bpf_map_lookup_elem(bpf_map__fd(sk_stg_map), &fd, -- &tmp_stg); -- if (CHECK(!err || errno != ENOENT, -- "bpf_map_lookup_elem(sk_stg_map)", -- "err:%d errno:%d\n", err, errno)) -- goto done; -- } -- -- err = pthread_create(&srv_thread, NULL, server, (void *)(long)lfd); -- if (CHECK(err != 0, "pthread_create", "err:%d errno:%d\n", err, errno)) -- goto done; -- -- /* recv total_bytes */ -- while (bytes < total_bytes && !READ_ONCE(stop)) { -- nr_recv = recv(fd, &batch, -- min(total_bytes - bytes, sizeof(batch)), 0); -- if (nr_recv == -1 && errno == EINTR) -- continue; -- if (nr_recv == -1) -- break; -- bytes += nr_recv; -- } -- -- CHECK(bytes != total_bytes, "recv", "%zd != %u nr_recv:%zd errno:%d\n", -- bytes, total_bytes, nr_recv, errno); -- -- WRITE_ONCE(stop, 1); -- pthread_join(srv_thread, &thread_ret); -- CHECK(IS_ERR(thread_ret), "pthread_join", "thread_ret:%ld", -- PTR_ERR(thread_ret)); --done: -- close(lfd); -- close(fd); --} -- --static void test_cubic(void) --{ -- struct bpf_cubic *cubic_skel; -- struct bpf_link *link; -- -- cubic_skel = bpf_cubic__open_and_load(); -- if (CHECK(!cubic_skel, "bpf_cubic__open_and_load", "failed\n")) -- return; -- -- link = bpf_map__attach_struct_ops(cubic_skel->maps.cubic); -- if (CHECK(IS_ERR(link), "bpf_map__attach_struct_ops", "err:%ld\n", -- PTR_ERR(link))) { -- bpf_cubic__destroy(cubic_skel); -- return; -- } -- -- do_test("bpf_cubic", NULL); -- -- bpf_link__destroy(link); -- bpf_cubic__destroy(cubic_skel); --} -- --static void test_dctcp(void) --{ -- struct bpf_dctcp *dctcp_skel; -- struct bpf_link *link; -- -- dctcp_skel = bpf_dctcp__open_and_load(); -- if (CHECK(!dctcp_skel, "bpf_dctcp__open_and_load", "failed\n")) -- return; -- -- link = bpf_map__attach_struct_ops(dctcp_skel->maps.dctcp); -- if (CHECK(IS_ERR(link), "bpf_map__attach_struct_ops", "err:%ld\n", -- PTR_ERR(link))) { -- bpf_dctcp__destroy(dctcp_skel); -- return; -- } -- -- do_test("bpf_dctcp", dctcp_skel->maps.sk_stg_map); -- CHECK(dctcp_skel->bss->stg_result != expected_stg, -- "Unexpected stg_result", "stg_result (%x) != expected_stg (%x)\n", -- dctcp_skel->bss->stg_result, expected_stg); -- -- bpf_link__destroy(link); -- bpf_dctcp__destroy(dctcp_skel); --} -- --static char *err_str; --static bool found; -- --static int libbpf_debug_print(enum libbpf_print_level level, -- const char *format, va_list args) --{ -- char *log_buf; -- -- if (level != LIBBPF_WARN || -- strcmp(format, "libbpf: \n%s\n")) { -- vprintf(format, args); -- return 0; -- } -- -- log_buf = va_arg(args, char *); -- if (!log_buf) -- goto out; -- if (err_str && strstr(log_buf, err_str) != NULL) -- found = true; --out: -- printf(format, log_buf); -- return 0; --} -- --static void test_invalid_license(void) --{ -- libbpf_print_fn_t old_print_fn; -- struct bpf_tcp_nogpl *skel; -- -- err_str = "struct ops programs must have a GPL compatible license"; -- found = false; -- old_print_fn = libbpf_set_print(libbpf_debug_print); -- -- skel = bpf_tcp_nogpl__open_and_load(); -- ASSERT_NULL(skel, "bpf_tcp_nogpl"); -- ASSERT_EQ(found, true, "expected_err_msg"); -- -- bpf_tcp_nogpl__destroy(skel); -- libbpf_set_print(old_print_fn); --} -- --void test_bpf_tcp_ca(void) --{ -- if (test__start_subtest("dctcp")) -- test_dctcp(); -- if (test__start_subtest("cubic")) -- test_cubic(); -- if (test__start_subtest("invalid_license")) -- test_invalid_license(); --} -diff --git a/tools/testing/selftests/bpf/prog_tests/kfunc_call.c b/tools/testing/selftests/bpf/prog_tests/kfunc_call.c -deleted file mode 100644 -index 7fc0951ee75f..000000000000 ---- a/tools/testing/selftests/bpf/prog_tests/kfunc_call.c -+++ /dev/null -@@ -1,59 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 --/* Copyright (c) 2021 Facebook */ --#include --#include --#include "kfunc_call_test.skel.h" --#include "kfunc_call_test_subprog.skel.h" -- --static void test_main(void) --{ -- struct kfunc_call_test *skel; -- int prog_fd, retval, err; -- -- skel = kfunc_call_test__open_and_load(); -- if (!ASSERT_OK_PTR(skel, "skel")) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.kfunc_call_test1); -- err = bpf_prog_test_run(prog_fd, 1, &pkt_v4, sizeof(pkt_v4), -- NULL, NULL, (__u32 *)&retval, NULL); -- ASSERT_OK(err, "bpf_prog_test_run(test1)"); -- ASSERT_EQ(retval, 12, "test1-retval"); -- -- prog_fd = bpf_program__fd(skel->progs.kfunc_call_test2); -- err = bpf_prog_test_run(prog_fd, 1, &pkt_v4, sizeof(pkt_v4), -- NULL, NULL, (__u32 *)&retval, NULL); -- ASSERT_OK(err, "bpf_prog_test_run(test2)"); -- ASSERT_EQ(retval, 3, "test2-retval"); -- -- kfunc_call_test__destroy(skel); --} -- --static void test_subprog(void) --{ -- struct kfunc_call_test_subprog *skel; -- int prog_fd, retval, err; -- -- skel = kfunc_call_test_subprog__open_and_load(); -- if (!ASSERT_OK_PTR(skel, "skel")) -- return; -- -- prog_fd = bpf_program__fd(skel->progs.kfunc_call_test1); -- err = bpf_prog_test_run(prog_fd, 1, &pkt_v4, sizeof(pkt_v4), -- NULL, NULL, (__u32 *)&retval, NULL); -- ASSERT_OK(err, "bpf_prog_test_run(test1)"); -- ASSERT_EQ(retval, 10, "test1-retval"); -- ASSERT_NEQ(skel->data->active_res, -1, "active_res"); -- ASSERT_EQ(skel->data->sk_state, BPF_TCP_CLOSE, "sk_state"); -- -- kfunc_call_test_subprog__destroy(skel); --} -- --void test_kfunc_call(void) --{ -- if (test__start_subtest("main")) -- test_main(); -- -- if (test__start_subtest("subprog")) -- test_subprog(); --} 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 @@ -3115,52 +1897,6 @@ index 267166abe4c1..000000000000 -cleanup: - linked_vars__destroy(skel); -} -diff --git a/tools/testing/selftests/bpf/prog_tests/static_linked.c b/tools/testing/selftests/bpf/prog_tests/static_linked.c -deleted file mode 100644 -index 46556976dccc..000000000000 ---- a/tools/testing/selftests/bpf/prog_tests/static_linked.c -+++ /dev/null -@@ -1,40 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 --/* Copyright (c) 2019 Facebook */ -- --#include --#include "test_static_linked.skel.h" -- --void test_static_linked(void) --{ -- int err; -- struct test_static_linked* skel; -- -- skel = test_static_linked__open(); -- if (!ASSERT_OK_PTR(skel, "skel_open")) -- return; -- -- skel->rodata->rovar1 = 1; -- skel->bss->static_var1 = 2; -- skel->bss->static_var11 = 3; -- -- skel->rodata->rovar2 = 4; -- skel->bss->static_var2 = 5; -- skel->bss->static_var22 = 6; -- -- err = test_static_linked__load(skel); -- if (!ASSERT_OK(err, "skel_load")) -- goto cleanup; -- -- err = test_static_linked__attach(skel); -- if (!ASSERT_OK(err, "skel_attach")) -- goto cleanup; -- -- /* trigger */ -- usleep(1); -- -- ASSERT_EQ(skel->bss->var1, 1 * 2 + 2 + 3, "var1"); -- ASSERT_EQ(skel->bss->var2, 4 * 3 + 5 + 6, "var2"); -- --cleanup: -- test_static_linked__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 @@ -4201,94 +2937,6 @@ index 575e958e60b7..000000000000 -} - -char LICENSE[] SEC("license") = "GPL"; -diff --git a/tools/testing/selftests/bpf/progs/linked_maps1.c b/tools/testing/selftests/bpf/progs/linked_maps1.c -deleted file mode 100644 -index 52291515cc72..000000000000 ---- a/tools/testing/selftests/bpf/progs/linked_maps1.c -+++ /dev/null -@@ -1,82 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 --/* Copyright (c) 2021 Facebook */ -- --#include "vmlinux.h" --#include --#include -- --struct my_key { long x; }; --struct my_value { long x; }; -- --struct { -- __uint(type, BPF_MAP_TYPE_HASH); -- __type(key, struct my_key); -- __type(value, struct my_value); -- __uint(max_entries, 16); --} map1 SEC(".maps"); -- -- /* Matches map2 definition in linked_maps2.c. Order of the attributes doesn't -- * matter. -- */ --typedef struct { -- __uint(max_entries, 8); -- __type(key, int); -- __type(value, int); -- __uint(type, BPF_MAP_TYPE_ARRAY); --} map2_t; -- --extern map2_t map2 SEC(".maps"); -- --/* This should be the winning map definition, but we have no way of verifying, -- * so we just make sure that it links and works without errors -- */ --struct { -- __uint(type, BPF_MAP_TYPE_ARRAY); -- __type(key, int); -- __type(value, int); -- __uint(max_entries, 16); --} map_weak __weak SEC(".maps"); -- --int output_first1; --int output_second1; --int output_weak1; -- --SEC("raw_tp/sys_enter") --int BPF_PROG(handler_enter1) --{ -- /* update values with key = 1 */ -- int key = 1, val = 1; -- struct my_key key_struct = { .x = 1 }; -- struct my_value val_struct = { .x = 1000 }; -- -- 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_exit1) --{ -- /* lookup values with key = 2, set in another file */ -- int key = 2, *val; -- struct my_key key_struct = { .x = 2 }; -- struct my_value *value_struct; -- -- value_struct = bpf_map_lookup_elem(&map1, &key_struct); -- if (value_struct) -- output_first1 = value_struct->x; -- -- val = bpf_map_lookup_elem(&map2, &key); -- if (val) -- output_second1 = *val; -- -- val = bpf_map_lookup_elem(&map_weak, &key); -- if (val) -- output_weak1 = *val; -- -- 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 @@ -4492,76 +3140,3 @@ index e4f5bd388a3c..000000000000 -} - -char LICENSE[] SEC("license") = "GPL"; -diff --git a/tools/testing/selftests/bpf/progs/test_static_linked1.c b/tools/testing/selftests/bpf/progs/test_static_linked1.c -deleted file mode 100644 -index ea1a6c4c7172..000000000000 ---- a/tools/testing/selftests/bpf/progs/test_static_linked1.c -+++ /dev/null -@@ -1,30 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 --/* Copyright (c) 2021 Facebook */ -- --#include --#include -- --/* 8-byte aligned .bss */ --static volatile long static_var1; --static volatile int static_var11; --int var1 = 0; --/* 4-byte aligned .rodata */ --const volatile int rovar1; -- --/* same "subprog" name in both files */ --static __noinline int subprog(int x) --{ -- /* but different formula */ -- return x * 2; --} -- --SEC("raw_tp/sys_enter") --int handler1(const void *ctx) --{ -- var1 = subprog(rovar1) + static_var1 + static_var11; -- -- return 0; --} -- --char LICENSE[] SEC("license") = "GPL"; --int VERSION SEC("version") = 1; -diff --git a/tools/testing/selftests/bpf/progs/test_static_linked2.c b/tools/testing/selftests/bpf/progs/test_static_linked2.c -deleted file mode 100644 -index 54d8d1ab577c..000000000000 ---- a/tools/testing/selftests/bpf/progs/test_static_linked2.c -+++ /dev/null -@@ -1,31 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 --/* Copyright (c) 2021 Facebook */ -- --#include --#include -- --/* 4-byte aligned .bss */ --static volatile int static_var2; --static volatile int static_var22; --int var2 = 0; --/* 8-byte aligned .rodata */ --const volatile long rovar2; -- --/* same "subprog" name in both files */ --static __noinline int subprog(int x) --{ -- /* but different formula */ -- return x * 3; --} -- --SEC("raw_tp/sys_enter") --int handler2(const void *ctx) --{ -- var2 = subprog(rovar2) + static_var2 + static_var22; -- -- return 0; --} -- --/* different name and/or type of the variable doesn't matter */ --char _license[] SEC("license") = "GPL"; --int _version SEC("version") = 1; diff --git a/process_configs.sh b/process_configs.sh index b1e1f4338..8c997a5fa 100755 --- a/process_configs.sh +++ b/process_configs.sh @@ -31,6 +31,16 @@ die() exit 1 } +get_cross_compile() +{ + arch=$1 + if [[ "$CC_IS_CLANG" -eq 1 ]]; then + echo "$arch" + else + echo "scripts/dummy-tools/" + fi +} + # stupid function to find top of tree to do kernel make configs switch_to_toplevel() { @@ -135,9 +145,9 @@ parsenewconfigs() BEGIN { inpatch=0; outfile="none"; symbol="none"; } - /^CONFIG_.*:$/ { - split($0, a, ":"); - symbol=a[1]; + /^Symbol: .*$/ { + split($0, a, " "); + symbol="CONFIG_"a[2]; outfile=BASE "/fake_"symbol } /-----/ { @@ -193,11 +203,11 @@ function commit_new_configs() fi echo -n "Checking for new configs in $cfg ... " - make ARCH="$arch" CROSS_COMPILE=scripts/dummy-tools/ KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig grep -E 'CONFIG_' .listnewconfig > .newoptions if test -s .newoptions then - make ARCH="$arch" CROSS_COMPILE=scripts/dummy-tools/ KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig parsenewconfigs fi rm .newoptions @@ -227,7 +237,7 @@ function process_configs() fi echo -n "Processing $cfg ... " - make ARCH="$arch" CROSS_COMPILE=scripts/dummy-tools/ KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig grep -E 'CONFIG_' .listnewconfig > .newoptions if test -n "$NEWOPTIONS" && test -s .newoptions then @@ -252,7 +262,7 @@ function process_configs() rm .listnewconfig - make ARCH="$arch" CROSS_COMPILE=scripts/dummy-tools/ KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 echo "# $arch" > "$cfgtmp" cat "$cfgorig" >> "$cfgtmp" if test -n "$CHECKOPTIONS" @@ -280,6 +290,8 @@ CONTINUEONERROR="" NEWOPTIONS="" TESTRUN="" CHECKWARNINGS="" +MAKEOPTS="" +CC_IS_CLANG=0 RETURNCODE=0 @@ -314,6 +326,13 @@ do -z) COMMITNEWCONFIGS="x" ;; + -m) + shift + if [ "$1" = "CC=clang" -o "$1" = "LLVM=1" ]; then + CC_IS_CLANG=1 + fi + MAKEOPTS="$MAKEOPTS $1" + ;; *) break;; esac diff --git a/sources b/sources index 529ba435d..b71a59e33 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ -SHA512 (linux-5.13.19.tar.xz) = 6f502ee9d10a2f3905b8e99cedcdd67a2b5c31079502e1f9eb31c95216fb5c7deeb691f00a9a4970e3363c3c601d86905e27a91c197d8320f17169d48c2fca37 SHA512 (kernel-abi-whitelists-5.13.19-100.tar.bz2) = aa42434b67960da00ae8b389c26ff8656a0e28af0e8650ad54b84d8dbaaf80a2878fda332ce42d82c032035c2ea86410087d67a242e4802e90e1b9c21701e32d -SHA512 (kernel-kabi-dw-5.13.19-100.tar.bz2) = 90427149c25b40a0fa79dc6b98fc98aedc33a542ff1e1625029ecfd6fd86ac5b1c4290c64af986579e55ef57613bb97349a8a82efb9540e3f11e444f0d7e87f6 +SHA512 (linux-5.14.7.tar.xz) = eedba59b2665d97ab132ab9bd3dc3328992d2e8692a8fe109a68d0eae63230db05f9be309bd079ed8a8fb33ff0ac9ca4029ec0bc612f5edc72430a883c4ef25f +SHA512 (kernel-abi-stablelists-5.14.7-100.tar.bz2) = a4b6d64a02051e6eb4e44d71ca234780d9062b99c5951f08f11e71b3dfe970d1716d2dffc60d75fb578376972718fd07104c69c5e9b2b5e69c80e41a80826970 +SHA512 (kernel-kabi-dw-5.14.7-100.tar.bz2) = 837aa0c7a3c843f6e8f675a109a6498e888a91721535d7b91afa6ed489feadc88afa02404b2992acba9754ca185d80485bfb9901d30473a0b8de13e5f488199e