This is a note to let you know that I've just added the patch titled Revert "interconnect: Fix locking for runpm vs reclaim" to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: revert-interconnect-fix-locking-for-runpm-vs-reclaim.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 23136f3ba8684434422f28d004e589e3887cbac6 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon, 4 Mar 2024 14:10:12 +0100 Subject: Revert "interconnect: Fix locking for runpm vs reclaim" From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> This reverts commit ee42bfc791aa3cd78e29046f26a09d189beb3efb which is commit af42269c3523492d71ebbe11fefae2653e9cdc78 upstream. It is reported to cause boot crashes in Android systems, so revert it from the stable trees for now. Cc: Rob Clark <robdclark@xxxxxxxxxxxx> Cc: Georgi Djakov <djakov@xxxxxxxxxx> Cc: Sasha Levin <sashal@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/interconnect/core.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) --- a/drivers/interconnect/core.c +++ b/drivers/interconnect/core.c @@ -29,7 +29,6 @@ static LIST_HEAD(icc_providers); static int providers_count; static bool synced_state; static DEFINE_MUTEX(icc_lock); -static DEFINE_MUTEX(icc_bw_lock); static struct dentry *icc_debugfs_dir; static void icc_summary_show_one(struct seq_file *s, struct icc_node *n) @@ -636,7 +635,7 @@ int icc_set_bw(struct icc_path *path, u3 if (WARN_ON(IS_ERR(path) || !path->num_nodes)) return -EINVAL; - mutex_lock(&icc_bw_lock); + mutex_lock(&icc_lock); old_avg = path->reqs[0].avg_bw; old_peak = path->reqs[0].peak_bw; @@ -668,7 +667,7 @@ int icc_set_bw(struct icc_path *path, u3 apply_constraints(path); } - mutex_unlock(&icc_bw_lock); + mutex_unlock(&icc_lock); trace_icc_set_bw_end(path, ret); @@ -971,7 +970,6 @@ void icc_node_add(struct icc_node *node, return; mutex_lock(&icc_lock); - mutex_lock(&icc_bw_lock); node->provider = provider; list_add_tail(&node->node_list, &provider->nodes); @@ -997,7 +995,6 @@ void icc_node_add(struct icc_node *node, node->avg_bw = 0; node->peak_bw = 0; - mutex_unlock(&icc_bw_lock); mutex_unlock(&icc_lock); } EXPORT_SYMBOL_GPL(icc_node_add); @@ -1137,7 +1134,6 @@ void icc_sync_state(struct device *dev) return; mutex_lock(&icc_lock); - mutex_lock(&icc_bw_lock); synced_state = true; list_for_each_entry(p, &icc_providers, provider_list) { dev_dbg(p->dev, "interconnect provider is in synced state\n"); Patches currently in stable-queue which might be from gregkh@xxxxxxxxxxxxxxxxxxx are queue-6.1/x86-boot-compressed-avoid-touching-ecx-in-startup32_set_idt_entry.patch queue-6.1/nfsd-refactor-find_file.patch queue-6.1/mptcp-push-at-dss-boundaries.patch queue-6.1/mptcp-fix-double-free-on-socket-dismantle.patch queue-6.1/nfsd-register-unregister-of-nfsd-client-shrinker-at-nfsd-startup-shutdown-time.patch queue-6.1/nfsd-refactoring-courtesy_client_reaper-to-a-generic-low-memory-shrinker.patch queue-6.1/x86-boot-compressed-only-build-mem_encrypt.s-if-amd_mem_encrypt-y.patch queue-6.1/x86-decompressor-avoid-magic-offsets-for-efi-handover-entrypoint.patch queue-6.1/x86-efistub-avoid-placing-the-kernel-below-load_physical_addr.patch queue-6.1/nfs-fix-data-corruption-caused-by-congestion.patch queue-6.1/lockd-use-locks_inode_context-helper.patch queue-6.1/x86-decompressor-move-global-symbol-references-to-c-code.patch queue-6.1/mptcp-fix-snd_wnd-initialization-for-passive-socket.patch queue-6.1/x86-boot-compressed-move-startup32_load_idt-into-.text-section.patch queue-6.1/nfsd-remove-redundant-assignment-to-variable-host_err.patch queue-6.1/x86-efistub-avoid-legacy-decompressor-when-doing-efi-boot.patch queue-6.1/x86-decompressor-only-call-the-trampoline-when-changing-paging-levels.patch queue-6.1/nfsd-use-set_bit-rq_dropme.patch queue-6.1/mptcp-continue-marking-the-first-subflow-as-unconnected.patch queue-6.1/nfsd-ignore-requests-to-disable-unsupported-versions.patch queue-6.1/x86-boot-compressed-rename-efi_thunk_64.s-to-efi-mixed.s.patch queue-6.1/alsa-hda-realtek-fix-mute-micmute-led-for-hp-mt440.patch queue-6.1/mmc-core-fix-emmc-initialization-with-1-bit-bus-connection.patch queue-6.1/x86-decompressor-merge-trampoline-cleanup-with-switching-code.patch queue-6.1/btrfs-fix-double-free-of-anonymous-device-after-snapshot-creation-failure.patch queue-6.1/nfsd-fix-licensing-header-in-filecache.c.patch queue-6.1/x86-boot-compressed-move-efi32_pe_entry-out-of-head_64.s.patch queue-6.1/efi-verify-that-variable-services-are-supported.patch queue-6.1/alsa-firewire-lib-fix-to-check-cycle-continuity.patch queue-6.1/nfsd-add-delegation-reaper-to-react-to-low-memory-condition.patch queue-6.1/nfsd-trace-stateids-returned-via-delegreturn.patch queue-6.1/x86-decompressor-call-trampoline-directly-from-c-code.patch queue-6.1/netfilter-nf_tables-disallow-timeout-for-anonymous-sets.patch queue-6.1/x86-efistub-perform-4-5-level-paging-switch-from-the-stub.patch queue-6.1/af_unix-drop-oob_skb-ref-before-purging-queue-in-gc.patch queue-6.1/x86-boot-compressed-pull-global-variable-reference-into-startup32_load_idt.patch queue-6.1/lockd-ensure-we-use-the-correct-file-descriptor-when-unlocking.patch queue-6.1/trace-relocate-event-helper-files.patch queue-6.1/mm-huge_memory-don-t-force-huge-page-alignment-on-32-bit.patch queue-6.1/x86-boot-rename-conflicting-boot_params-pointer-to-boot_params_ptr.patch queue-6.1/x86-efistub-perform-snp-feature-test-while-running-in-the-firmware.patch queue-6.1/nfsd-update-file_hashtbl-helpers.patch queue-6.1/nfsd-clean-up-nfs4_preprocess_stateid_op-call-sites.patch queue-6.1/nfsd-don-t-destroy-global-nfs4_file-table-in-per-net-shutdown.patch queue-6.1/x86-efistub-simplify-and-clean-up-handover-entry-code.patch queue-6.1/x86-boot-compressed-simplify-idt-gdt-preserve-restore-in-the-efi-thunk.patch queue-6.1/revert-drm-amd-pm-resolve-reboot-exception-for-si-oland.patch queue-6.1/nfsd-use-only-rq_dropme-to-signal-the-need-to-drop-a-reply.patch queue-6.1/nfsd-use-locks_inode_context-helper.patch queue-6.1/x86-decompressor-assign-paging-related-global-variables-earlier.patch queue-6.1/dmaengine-ptdma-use-consistent-dma-masks.patch queue-6.1/x86-boot-compressed-move-32-bit-entrypoint-code-into-.text-section.patch queue-6.1/efi-libstub-add-memory-attribute-protocol-definitions.patch queue-6.1/dmaengine-fsl-qdma-init-irq-after-reg-initialization.patch queue-6.1/mptcp-fix-data-races-on-local_id.patch queue-6.1/nfsd-use-struct_size-helper-in-alloc_session.patch queue-6.1/x86-boot-compressed-move-efi32_pe_entry-into-.text-section.patch queue-6.1/efi-libstub-add-limit-argument-to-efi_random_alloc.patch queue-6.1/mptcp-map-v4-address-to-v6-when-destroying-subflow.patch queue-6.1/x86-decompressor-avoid-the-need-for-a-stack-in-the-32-bit-trampoline.patch queue-6.1/landlock-fix-asymmetric-private-inodes-referring.patch queue-6.1/usb-gadget-properly-configure-the-device-for-remote-.patch queue-6.1/x86-boot-compressed-move-startup32_check_sev_cbit-out-of-head_64.s.patch queue-6.1/nfsd-fix-up-the-filecache-laundrette-scheduling.patch queue-6.1/nfsd-move-nfserrno-to-vfs.c.patch queue-6.1/fs-aio-make-io_cancel-generate-completions-again.patch queue-6.1/x86-boot-compressed-efi-merge-multiple-definitions-of-image_offset-into-one.patch queue-6.1/x86-boot-compressed-move-startup32_load_idt-out-of-head_64.s.patch queue-6.1/efi-x86-fix-the-missing-kaslr_flag-bit-in-boot_params-hdr.loadflags.patch queue-6.1/rdma-core-update-cma-destination-address-on-rdma_resolve_addr.patch queue-6.1/alsa-hda-realtek-enable-mute-led-on-hp-840-g8-mb-8ab8.patch queue-6.1/decompress-use-8-byte-alignment.patch queue-6.1/x86-boot-compressed-move-efi32_entry-out-of-head_64.s.patch queue-6.1/riscv-add-caller_addrx-support.patch queue-6.1/drm-buddy-fix-range-bias.patch queue-6.1/exportfs-use-pr_debug-for-unreachable-debug-statements.patch queue-6.1/nfsd-use-const-pointers-as-parameters-to-fh_-helpers.patch queue-6.1/nfsd-use-rhashtable-for-managing-nfs4_file-objects.patch queue-6.1/nfsd-clean-up-nfsd4_init_file.patch queue-6.1/x86-boot-robustify-calling-startup_-32-64-from-the-decompressor-code.patch queue-6.1/wifi-nl80211-reject-iftype-change-with-mesh-id-change.patch queue-6.1/nfsd-add-a-nfsd4_file_hash_remove-helper.patch queue-6.1/efi-libstub-use-efi_loader_code-region-when-moving-the-kernel-in-memory.patch queue-6.1/crypto-arm64-neonbs-fix-out-of-bounds-access-on-short-input.patch queue-6.1/arm64-efi-limit-allocations-to-48-bit-addressable-physical-region.patch queue-6.1/revert-interconnect-fix-locking-for-runpm-vs-reclaim.patch queue-6.1/drm-amd-display-increase-frame-warning-limit-with-kasan-or-kcsan-in-dml.patch queue-6.1/nfsd-simplify-read_plus.patch queue-6.1/x86-boot-compressed-move-bootargs-parsing-out-of-32-bit-startup-code.patch queue-6.1/efivarfs-request-at-most-512-bytes-for-variable-names.patch queue-6.1/x86-boot-compressed-adhere-to-calling-convention-in-get_sev_encryption_bit.patch queue-6.1/nfsd-trace-delegation-revocations.patch queue-6.1/nfsd-allow-disabling-nfsv2-at-compile-time.patch queue-6.1/x86-boot-compressed-move-startup32_check_sev_cbit-into-.text.patch queue-6.1/x86-cpu-intel-detect-tme-keyid-bits-before-setting-mtrr-mask-registers.patch queue-6.1/nfsd-flesh-out-a-documenting-comment-for-filecache.c.patch queue-6.1/selftests-mptcp-join-add-ss-mptcp-support-check.patch queue-6.1/mptcp-fix-possible-deadlock-in-subflow-diag.patch queue-6.1/x86-efistub-prefer-efi-memory-attributes-protocol-over-dxe-services.patch queue-6.1/nfsd-replace-delayed_work-with-work_struct-for-nfsd_client_shrinker.patch queue-6.1/lockd-set-missing-fl_flags-field-when-retrieving-args.patch queue-6.1/mmc-sdhci-xenon-fix-phy-init-clock-stability.patch queue-6.1/tomoyo-fix-uaf-write-bug-in-tomoyo_write_control.patch queue-6.1/efi-efivars-prevent-double-registration.patch queue-6.1/btrfs-send-don-t-issue-unnecessary-zero-writes-for-trailing-hole.patch queue-6.1/filelock-add-a-new-locks_inode_context-accessor-function.patch queue-6.1/nfsd-add-support-for-sending-cb_recall_any.patch queue-6.1/x86-decompressor-store-boot_params-pointer-in-callee-save-register.patch queue-6.1/gtp-fix-use-after-free-and-null-ptr-deref-in-gtp_newlink.patch queue-6.1/revert-interconnect-teach-lockdep-about-icc_bw_lock-order.patch queue-6.1/x86-boot-efistub-assign-global-boot_params-variable.patch queue-6.1/btrfs-dev-replace-properly-validate-device-names.patch queue-6.1/x86-efistub-clear-bss-in-efi-handover-protocol-entrypoint.patch queue-6.1/x86-efistub-branch-straight-to-kernel-entry-point-from-c-code.patch queue-6.1/x86-decompressor-factor-out-kernel-decompression-and-relocation.patch queue-6.1/x86-decompressor-call-trampoline-as-a-normal-function.patch queue-6.1/x86-decompressor-pass-pgtable-address-to-trampoline-directly.patch queue-6.1/lockd-fix-file-selection-in-nlmsvc_cancel_blocked.patch queue-6.1/pmdomain-qcom-rpmhpd-fix-enabled_corner-aggregation.patch queue-6.1/x86-decompressor-use-standard-calling-convention-for-trampoline.patch queue-6.1/efi-x86-avoid-physical-kaslr-on-older-dell-systems.patch queue-6.1/mptcp-fix-duplicate-subflow-creation.patch queue-6.1/nfsd-add-cb_recall_any-tracepoints.patch queue-6.1/mmc-mmci-stm32-fix-dma-api-overlapping-mappings-warning.patch queue-6.1/mmc-sdhci-xenon-add-timeout-for-phy-init-complete.patch queue-6.1/dmaengine-fsl-qdma-fix-soc-may-hang-on-16-byte-unaligned-read.patch queue-6.1/nfsd-avoid-clashing-function-prototypes.patch queue-6.1/mptcp-fix-data-races-on-remote_id.patch queue-6.1/nfsd-clean-up-find_or_add_file.patch queue-6.1/x86-efi-make-the-deprecated-efi-handover-protocol-optional.patch queue-6.1/rdma-core-refactor-rdma_bind_addr.patch queue-6.1/x86-e820-don-t-reserve-setup_rng_seed-in-e820.patch