From: Greg Kroah-Hartman Date: Fri, 22 Sep 2023 16:17:08 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v4.14.326~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ee71af3171c6833904ec4c0049876e8215812b5f;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: interconnect-teach-lockdep-about-icc_bw_lock-order.patch --- diff --git a/queue-5.10/interconnect-teach-lockdep-about-icc_bw_lock-order.patch b/queue-5.10/interconnect-teach-lockdep-about-icc_bw_lock-order.patch new file mode 100644 index 00000000000..e5d588d64cb --- /dev/null +++ b/queue-5.10/interconnect-teach-lockdep-about-icc_bw_lock-order.patch @@ -0,0 +1,47 @@ +From 13619170303878e1dae86d9a58b039475c957fcf Mon Sep 17 00:00:00 2001 +From: Rob Clark +Date: Mon, 7 Aug 2023 10:11:41 -0700 +Subject: interconnect: Teach lockdep about icc_bw_lock order + +From: Rob Clark + +commit 13619170303878e1dae86d9a58b039475c957fcf upstream. + +Teach lockdep that icc_bw_lock is needed in code paths that could +deadlock if they trigger reclaim. + +Signed-off-by: Rob Clark +Link: https://lore.kernel.org/r/20230807171148.210181-8-robdclark@gmail.com +Signed-off-by: Georgi Djakov +Cc: Guenter Roeck +Cc: Jon Hunter +Signed-off-by: Greg Kroah-Hartman +--- + drivers/interconnect/core.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +--- a/drivers/interconnect/core.c ++++ b/drivers/interconnect/core.c +@@ -1131,13 +1131,21 @@ void icc_sync_state(struct device *dev) + } + } + } ++ mutex_unlock(&icc_bw_lock); + mutex_unlock(&icc_lock); + } + EXPORT_SYMBOL_GPL(icc_sync_state); + + static int __init icc_init(void) + { +- struct device_node *root = of_find_node_by_path("/"); ++ struct device_node *root; ++ ++ /* Teach lockdep about lock ordering wrt. shrinker: */ ++ fs_reclaim_acquire(GFP_KERNEL); ++ might_lock(&icc_bw_lock); ++ fs_reclaim_release(GFP_KERNEL); ++ ++ root = of_find_node_by_path("/"); + + providers_count = of_count_icc_providers(root); + of_node_put(root); diff --git a/queue-5.10/series b/queue-5.10/series index 59c157d1c1c..b3b08d34a65 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -81,3 +81,4 @@ ata-libata-disallow-dev-initiated-lpm-transitions-to-unsupported-states.patch scsi-megaraid_sas-fix-deadlock-on-firmware-crashdump.patch scsi-pm8001-setup-irqs-on-resume.patch ext4-fix-rec_len-verify-error.patch +interconnect-teach-lockdep-about-icc_bw_lock-order.patch