From 1c5696334acf597bc5a9abcb92925e41c3b5be42 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Sun, 14 Nov 2021 18:37:04 +0100 Subject: kernel 5.14.17 --- SOURCES/Patchlist.changelog | 3 + SOURCES/kernel-aarch64-debug-fedora.config | 4 +- SOURCES/kernel-aarch64-fedora.config | 4 +- SOURCES/kernel-armv7hl-debug-fedora.config | 4 +- SOURCES/kernel-armv7hl-fedora.config | 4 +- SOURCES/kernel-armv7hl-lpae-debug-fedora.config | 4 +- SOURCES/kernel-armv7hl-lpae-fedora.config | 4 +- SOURCES/kernel-i686-debug-fedora.config | 2 +- SOURCES/kernel-i686-fedora.config | 2 +- SOURCES/kernel-ppc64le-debug-fedora.config | 2 +- SOURCES/kernel-ppc64le-fedora.config | 2 +- SOURCES/kernel-s390x-debug-fedora.config | 2 +- SOURCES/kernel-s390x-fedora.config | 2 +- SOURCES/kernel-x86_64-debug-fedora.config | 2 +- SOURCES/kernel-x86_64-fedora.config | 2 +- SOURCES/patch-5.14-redhat.patch | 140 ++++++------------------ SPECS/kernel.spec | 16 ++- 17 files changed, 73 insertions(+), 126 deletions(-) diff --git a/SOURCES/Patchlist.changelog b/SOURCES/Patchlist.changelog index 3fa8428..419ccfa 100644 --- a/SOURCES/Patchlist.changelog +++ b/SOURCES/Patchlist.changelog @@ -1,3 +1,6 @@ +https://gitlab.com/cki-project/kernel-ark/-/commit/135e0ca7843b0c75078420af44f09c03adf031e4 + 135e0ca7843b0c75078420af44f09c03adf031e4 btrfs: fix memory ordering between normal and ordered work functions + https://gitlab.com/cki-project/kernel-ark/-/commit/4ea42fc748bc3ba5da69dd285681603f8474732e 4ea42fc748bc3ba5da69dd285681603f8474732e Revert "xhci: Set HCD flag to defer primary roothub registration" diff --git a/SOURCES/kernel-aarch64-debug-fedora.config b/SOURCES/kernel-aarch64-debug-fedora.config index f1599c0..37f0f59 100644 --- a/SOURCES/kernel-aarch64-debug-fedora.config +++ b/SOURCES/kernel-aarch64-debug-fedora.config @@ -1064,6 +1064,7 @@ CONFIG_CLK_BCM2835=y CONFIG_CLKDEV_LOOKUP=y # CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_HSDK is not set +CONFIG_CLK_ICST=y CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MP=y @@ -1121,7 +1122,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m # CONFIG_CODA_FS is not set # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXG=y CONFIG_COMMON_CLK_AXI_CLKGEN=m CONFIG_COMMON_CLK_BD718XX=m @@ -5501,6 +5502,7 @@ CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m CONFIG_QCOM_SPMI_VADC=m +CONFIG_QCOM_SPM=y CONFIG_QCOM_SYSMON=m CONFIG_QCOM_TSENS=m CONFIG_QCOM_WCNSS_CTRL=m diff --git a/SOURCES/kernel-aarch64-fedora.config b/SOURCES/kernel-aarch64-fedora.config index a91f30f..bb28054 100644 --- a/SOURCES/kernel-aarch64-fedora.config +++ b/SOURCES/kernel-aarch64-fedora.config @@ -1064,6 +1064,7 @@ CONFIG_CLK_BCM2835=y CONFIG_CLKDEV_LOOKUP=y # CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_HSDK is not set +CONFIG_CLK_ICST=y CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MP=y @@ -1121,7 +1122,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m # CONFIG_CODA_FS is not set # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXG=y CONFIG_COMMON_CLK_AXI_CLKGEN=m CONFIG_COMMON_CLK_BD718XX=m @@ -5478,6 +5479,7 @@ CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m CONFIG_QCOM_SPMI_VADC=m +CONFIG_QCOM_SPM=y CONFIG_QCOM_SYSMON=m CONFIG_QCOM_TSENS=m CONFIG_QCOM_WCNSS_CTRL=m diff --git a/SOURCES/kernel-armv7hl-debug-fedora.config b/SOURCES/kernel-armv7hl-debug-fedora.config index a475672..e051bd0 100644 --- a/SOURCES/kernel-armv7hl-debug-fedora.config +++ b/SOURCES/kernel-armv7hl-debug-fedora.config @@ -1086,6 +1086,7 @@ CONFIG_CLK_BCM2711_DVP=m CONFIG_CLK_BCM2835=y # CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_HSDK is not set +CONFIG_CLK_ICST=y CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MP=y @@ -1141,7 +1142,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m # CONFIG_CODA_FS is not set # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set @@ -5597,6 +5598,7 @@ CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m CONFIG_QCOM_SPMI_VADC=m +CONFIG_QCOM_SPM=y # CONFIG_QCOM_SYSMON is not set CONFIG_QCOM_TSENS=m CONFIG_QCOM_WCNSS_CTRL=m diff --git a/SOURCES/kernel-armv7hl-fedora.config b/SOURCES/kernel-armv7hl-fedora.config index 872ca0b..6e67c6f 100644 --- a/SOURCES/kernel-armv7hl-fedora.config +++ b/SOURCES/kernel-armv7hl-fedora.config @@ -1086,6 +1086,7 @@ CONFIG_CLK_BCM2711_DVP=m CONFIG_CLK_BCM2835=y # CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_HSDK is not set +CONFIG_CLK_ICST=y CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MP=y @@ -1141,7 +1142,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m # CONFIG_CODA_FS is not set # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set @@ -5575,6 +5576,7 @@ CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m CONFIG_QCOM_SPMI_VADC=m +CONFIG_QCOM_SPM=y # CONFIG_QCOM_SYSMON is not set CONFIG_QCOM_TSENS=m CONFIG_QCOM_WCNSS_CTRL=m diff --git a/SOURCES/kernel-armv7hl-lpae-debug-fedora.config b/SOURCES/kernel-armv7hl-lpae-debug-fedora.config index 19239f7..0185bff 100644 --- a/SOURCES/kernel-armv7hl-lpae-debug-fedora.config +++ b/SOURCES/kernel-armv7hl-lpae-debug-fedora.config @@ -1060,6 +1060,7 @@ CONFIG_CLK_BCM2711_DVP=m CONFIG_CLK_BCM2835=y # CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_HSDK is not set +CONFIG_CLK_ICST=y CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MP=y @@ -1114,7 +1115,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m # CONFIG_CODA_FS is not set # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set @@ -5443,6 +5444,7 @@ CONFIG_QCOM_SCM=y CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m # CONFIG_QCOM_SPMI_ADC_TM5 is not set +CONFIG_QCOM_SPM=y CONFIG_QCS_GCC_404=m # CONFIG_QCS_Q6SSTOP_404 is not set # CONFIG_QCS_TURING_404 is not set diff --git a/SOURCES/kernel-armv7hl-lpae-fedora.config b/SOURCES/kernel-armv7hl-lpae-fedora.config index 24d8ddb..80f98ab 100644 --- a/SOURCES/kernel-armv7hl-lpae-fedora.config +++ b/SOURCES/kernel-armv7hl-lpae-fedora.config @@ -1060,6 +1060,7 @@ CONFIG_CLK_BCM2711_DVP=m CONFIG_CLK_BCM2835=y # CONFIG_CLK_GFM_LPASS_SM8250 is not set # CONFIG_CLK_HSDK is not set +CONFIG_CLK_ICST=y CONFIG_CLK_IMX8MM=y CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MP=y @@ -1114,7 +1115,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m # CONFIG_CODA_FS is not set # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set @@ -5421,6 +5422,7 @@ CONFIG_QCOM_SCM=y CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m # CONFIG_QCOM_SPMI_ADC_TM5 is not set +CONFIG_QCOM_SPM=y CONFIG_QCS_GCC_404=m # CONFIG_QCS_Q6SSTOP_404 is not set # CONFIG_QCS_TURING_404 is not set diff --git a/SOURCES/kernel-i686-debug-fedora.config b/SOURCES/kernel-i686-debug-fedora.config index 72feaa8..26a5cc3 100644 --- a/SOURCES/kernel-i686-debug-fedora.config +++ b/SOURCES/kernel-i686-debug-fedora.config @@ -916,7 +916,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m CONFIG_CODA_FS=m # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set diff --git a/SOURCES/kernel-i686-fedora.config b/SOURCES/kernel-i686-fedora.config index ee74ff9..a40305f 100644 --- a/SOURCES/kernel-i686-fedora.config +++ b/SOURCES/kernel-i686-fedora.config @@ -915,7 +915,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m CONFIG_CODA_FS=m # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set diff --git a/SOURCES/kernel-ppc64le-debug-fedora.config b/SOURCES/kernel-ppc64le-debug-fedora.config index 7ef64b1..1d88022 100644 --- a/SOURCES/kernel-ppc64le-debug-fedora.config +++ b/SOURCES/kernel-ppc64le-debug-fedora.config @@ -867,7 +867,7 @@ CONFIG_CNIC=m CONFIG_CODA_FS=m # CONFIG_CODE_PATCHING_SELFTEST is not set # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set diff --git a/SOURCES/kernel-ppc64le-fedora.config b/SOURCES/kernel-ppc64le-fedora.config index 53b2125..98d8afc 100644 --- a/SOURCES/kernel-ppc64le-fedora.config +++ b/SOURCES/kernel-ppc64le-fedora.config @@ -866,7 +866,7 @@ CONFIG_CNIC=m CONFIG_CODA_FS=m # CONFIG_CODE_PATCHING_SELFTEST is not set # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set diff --git a/SOURCES/kernel-s390x-debug-fedora.config b/SOURCES/kernel-s390x-debug-fedora.config index a5406be..4f4259c 100644 --- a/SOURCES/kernel-s390x-debug-fedora.config +++ b/SOURCES/kernel-s390x-debug-fedora.config @@ -874,7 +874,7 @@ CONFIG_CMM=m CONFIG_CNIC=m CONFIG_CODA_FS=m # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set diff --git a/SOURCES/kernel-s390x-fedora.config b/SOURCES/kernel-s390x-fedora.config index 3380c15..8ecf744 100644 --- a/SOURCES/kernel-s390x-fedora.config +++ b/SOURCES/kernel-s390x-fedora.config @@ -873,7 +873,7 @@ CONFIG_CMM=m CONFIG_CNIC=m CONFIG_CODA_FS=m # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set diff --git a/SOURCES/kernel-x86_64-debug-fedora.config b/SOURCES/kernel-x86_64-debug-fedora.config index fdc5bb7..bae2bca 100644 --- a/SOURCES/kernel-x86_64-debug-fedora.config +++ b/SOURCES/kernel-x86_64-debug-fedora.config @@ -930,7 +930,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m CONFIG_CODA_FS=m # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set diff --git a/SOURCES/kernel-x86_64-fedora.config b/SOURCES/kernel-x86_64-fedora.config index be2ca4f..39b3ee2 100644 --- a/SOURCES/kernel-x86_64-fedora.config +++ b/SOURCES/kernel-x86_64-fedora.config @@ -929,7 +929,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y CONFIG_CNIC=m CONFIG_CODA_FS=m # CONFIG_COMEDI is not set -# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_AXG_AUDIO=y CONFIG_COMMON_CLK_AXI_CLKGEN=m # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set diff --git a/SOURCES/patch-5.14-redhat.patch b/SOURCES/patch-5.14-redhat.patch index e2d266b..e7e1bce 100644 --- a/SOURCES/patch-5.14-redhat.patch +++ b/SOURCES/patch-5.14-redhat.patch @@ -23,9 +23,8 @@ drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 4 + drivers/net/wireguard/main.c | 6 + drivers/pci/quirks.c | 24 + - drivers/usb/core/hcd.c | 29 +- drivers/usb/core/hub.c | 7 + - drivers/usb/host/xhci.c | 1 - + fs/btrfs/async-thread.c | 14 + fs/xfs/xfs_super.c | 8 - include/linux/efi.h | 22 +- include/linux/lsm_hook_defs.h | 2 + @@ -33,7 +32,6 @@ include/linux/random.h | 7 + include/linux/rmi.h | 1 + include/linux/security.h | 5 + - include/linux/usb/hcd.h | 2 - init/Kconfig | 2 +- kernel/module_signing.c | 9 +- mm/cma.c | 10 + @@ -55,7 +53,7 @@ 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 --- - 57 files changed, 677 insertions(+), 1520 deletions(-) + 55 files changed, 685 insertions(+), 1494 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 110b305af27f..488feec76f0a 100644 @@ -1333,76 +1331,6 @@ index 8c3c1ef92171..18431236ab9f 100644 /* * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) * class code. Fix it. -diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 99ff2d23be05..0f8b7c93310e 100644 ---- a/drivers/usb/core/hcd.c -+++ b/drivers/usb/core/hcd.c -@@ -2775,7 +2775,6 @@ int usb_add_hcd(struct usb_hcd *hcd, - { - int retval; - struct usb_device *rhdev; -- struct usb_hcd *shared_hcd; - - if (!hcd->skip_phy_initialization && usb_hcd_is_primary_hcd(hcd)) { - hcd->phy_roothub = usb_phy_roothub_alloc(hcd->self.sysdev); -@@ -2936,26 +2935,13 @@ int usb_add_hcd(struct usb_hcd *hcd, - goto err_hcd_driver_start; - } - -- /* starting here, usbcore will pay attention to the shared HCD roothub */ -- shared_hcd = hcd->shared_hcd; -- if (!usb_hcd_is_primary_hcd(hcd) && shared_hcd && HCD_DEFER_RH_REGISTER(shared_hcd)) { -- retval = register_root_hub(shared_hcd); -- if (retval != 0) -- goto err_register_root_hub; -- -- if (shared_hcd->uses_new_polling && HCD_POLL_RH(shared_hcd)) -- usb_hcd_poll_rh_status(shared_hcd); -- } -- - /* starting here, usbcore will pay attention to this root hub */ -- if (!HCD_DEFER_RH_REGISTER(hcd)) { -- retval = register_root_hub(hcd); -- if (retval != 0) -- goto err_register_root_hub; -+ retval = register_root_hub(hcd); -+ if (retval != 0) -+ goto err_register_root_hub; - -- if (hcd->uses_new_polling && HCD_POLL_RH(hcd)) -- usb_hcd_poll_rh_status(hcd); -- } -+ if (hcd->uses_new_polling && HCD_POLL_RH(hcd)) -+ usb_hcd_poll_rh_status(hcd); - - return retval; - -@@ -2999,7 +2985,6 @@ EXPORT_SYMBOL_GPL(usb_add_hcd); - void usb_remove_hcd(struct usb_hcd *hcd) - { - struct usb_device *rhdev = hcd->self.root_hub; -- bool rh_registered; - - dev_info(hcd->self.controller, "remove, state %x\n", hcd->state); - -@@ -3010,7 +2995,6 @@ void usb_remove_hcd(struct usb_hcd *hcd) - - dev_dbg(hcd->self.controller, "roothub graceful disconnect\n"); - spin_lock_irq (&hcd_root_hub_lock); -- rh_registered = hcd->rh_registered; - hcd->rh_registered = 0; - spin_unlock_irq (&hcd_root_hub_lock); - -@@ -3020,8 +3004,7 @@ void usb_remove_hcd(struct usb_hcd *hcd) - cancel_work_sync(&hcd->died_work); - - mutex_lock(&usb_bus_idr_lock); -- if (rh_registered) -- usb_disconnect(&rhdev); /* Sets rhdev to NULL */ -+ usb_disconnect(&rhdev); /* Sets rhdev to NULL */ - mutex_unlock(&usb_bus_idr_lock); - - /* diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 86658a81d284..5647f4756e97 100644 --- a/drivers/usb/core/hub.c @@ -1421,18 +1349,38 @@ index 86658a81d284..5647f4756e97 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/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c -index cb730683f898..4e32b96ccc88 100644 ---- a/drivers/usb/host/xhci.c -+++ b/drivers/usb/host/xhci.c -@@ -692,7 +692,6 @@ int xhci_run(struct usb_hcd *hcd) - if (ret) - xhci_free_command(xhci, command); - } -- set_bit(HCD_FLAG_DEFER_RH_REGISTER, &hcd->flags); - xhci_dbg_trace(xhci, trace_xhci_dbg_init, - "Finished xhci_run for USB2 roothub"); - +diff --git a/fs/btrfs/async-thread.c b/fs/btrfs/async-thread.c +index 309516e6a968..d39af03b456c 100644 +--- a/fs/btrfs/async-thread.c ++++ b/fs/btrfs/async-thread.c +@@ -234,6 +234,13 @@ static void run_ordered_work(struct __btrfs_workqueue *wq, + ordered_list); + if (!test_bit(WORK_DONE_BIT, &work->flags)) + break; ++ /* ++ * Orders all subsequent loads after reading WORK_DONE_BIT, ++ * paired with the smp_mb__before_atomic in btrfs_work_helper ++ * this guarantees that the ordered function will see all ++ * updates from ordinary work function. ++ */ ++ smp_rmb(); + + /* + * we are going to call the ordered done function, but +@@ -317,6 +324,13 @@ static void btrfs_work_helper(struct work_struct *normal_work) + thresh_exec_hook(wq); + work->func(work); + if (need_order) { ++ /* ++ * Ensures all memory accesses done in the work function are ++ * ordered before setting the WORK_DONE_BIT.Ensuring the thread ++ * which is going to executed the ordered work sees them. ++ * Pairs with the smp_rmb in run_ordered_work. ++ */ ++ smp_mb__before_atomic(); + set_bit(WORK_DONE_BIT, &work->flags); + run_ordered_work(wq, work); + } else { diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 2c9e26a44546..f96324912d6a 100644 --- a/fs/xfs/xfs_super.c @@ -1617,26 +1565,6 @@ index 5b7288521300..f966f591c91e 100644 #endif /* CONFIG_SECURITY */ #if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE) -diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h -index 2c1fc9212cf2..548a028f2dab 100644 ---- a/include/linux/usb/hcd.h -+++ b/include/linux/usb/hcd.h -@@ -124,7 +124,6 @@ struct usb_hcd { - #define HCD_FLAG_RH_RUNNING 5 /* root hub is running? */ - #define HCD_FLAG_DEAD 6 /* controller has died? */ - #define HCD_FLAG_INTF_AUTHORIZED 7 /* authorize interfaces? */ --#define HCD_FLAG_DEFER_RH_REGISTER 8 /* Defer roothub registration */ - - /* The flags can be tested using these macros; they are likely to - * be slightly faster than test_bit(). -@@ -135,7 +134,6 @@ struct usb_hcd { - #define HCD_WAKEUP_PENDING(hcd) ((hcd)->flags & (1U << HCD_FLAG_WAKEUP_PENDING)) - #define HCD_RH_RUNNING(hcd) ((hcd)->flags & (1U << HCD_FLAG_RH_RUNNING)) - #define HCD_DEAD(hcd) ((hcd)->flags & (1U << HCD_FLAG_DEAD)) --#define HCD_DEFER_RH_REGISTER(hcd) ((hcd)->flags & (1U << HCD_FLAG_DEFER_RH_REGISTER)) - - /* - * Specifies if interfaces are authorized by default diff --git a/init/Kconfig b/init/Kconfig index 55f9f7738ebb..564553afb251 100644 --- a/init/Kconfig diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec index c46131d..c960591 100755 --- a/SPECS/kernel.spec +++ b/SPECS/kernel.spec @@ -123,7 +123,7 @@ Summary: The Linux kernel # The kernel tarball/base version %define kversion 5.14 -%define rpmversion 5.14.16 +%define rpmversion 5.14.17 %define patchversion 5.14 %define pkgrelease 302 @@ -672,7 +672,7 @@ BuildRequires: lld # exact git commit you can run # # xzcat -qq ${TARBALL} | git get-tar-commit-id -Source0: linux-5.14.16.tar.xz +Source0: linux-5.14.17.tar.xz Source1: Makefile.rhelver @@ -1366,8 +1366,8 @@ ApplyOptionalPatch() fi } -%setup -q -n kernel-5.14.16 -c -mv linux-5.14.16 linux-%{KVERREL} +%setup -q -n kernel-5.14.17 -c +mv linux-5.14.17 linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . @@ -2974,8 +2974,12 @@ fi # # %changelog -* Sat Nov 06 2021 Jan Drögehoff - 5.14.16-302 -- Linux v5.14.16 futex2 zen openrgb +* Sun Nov 14 2021 Jan Drögehoff - 5.14.17-302.fsync.1 +- Linux v5.14.17 futex2 zen openrgb + +* Mon Nov 08 2021 Justin M. Forbes [5.14.17-1] +- btrfs: fix memory ordering between normal and ordered work functions (Nikolay Borisov) +- Turn on COMMON_CLK_AXG_AUDIO for Fedora rhbz 2020481 (Justin M. Forbes) * Wed Nov 03 2021 Justin M. Forbes [5.14.16-1] - Update release for usb fix rebuild (Justin M. Forbes) -- cgit v1.2.3