Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp952633pxb; Sun, 11 Apr 2021 02:48:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw3n183GLR+W7Y91p0cdaiqb2PNsgDBKY5am9dmhoJ+5/ERghhBN3EpMjFYO7k+Y+GYs7IZ X-Received: by 2002:a17:906:d555:: with SMTP id cr21mr16481420ejc.66.1618134499023; Sun, 11 Apr 2021 02:48:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618134499; cv=none; d=google.com; s=arc-20160816; b=xwbCPiULXPPe6F2WtK9ehL5E8a/oDxh03qEIU2/A5MfnmPNUG/Am6tncWyXf2qgphL 92Il3cF11HWJmfWgf/NZs07z6g0LKLdnEut1DShheST/d0XjaS5RQAFZ3ZKNmb4YEfGC G8yQjl2RFU7dOvFWtUfTlp5YnqYW1D2cIzWmUCEKisy5PrhN+g9rnx0GgAHyIDQ0SrWc SZN1+FOQz29bLEzKTZajXtac8Glm3OlNHgUhfLX6dlm6Q8WgqKZpnXHJ0lr2tIoq1ZEK uNmpxkZEj/FuIJo/U3UKicJr4GAn3mdRL1XRX2QRVzYfOJK++nWvOIlAS5tcD5qKZPec Id6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from; bh=VM1EVxY1D7om3DnSciCS9kI7nrR+nZTpTB/AQG9xiDg=; b=byugsuMn1echSlrUyz10P3HX8Ne2cvX67BvpgGj4PxPZJkRs3hgSHVx3ZonCuZNsQE W6Vf/2b8nJo/2/85O1IO+tnnl1BTl9xpfXJNIBWIBIAxZeAHQc7DIM7es/qnLpOlrzs5 GrbhDheLHJ2/UFv6jUBW7Vm2AVBVy3vUd6PAzMzqzUyzn18l9AQBZssogRpl/rioSKvg HwnjW1aEmUa3PzFh8HlgE0B1Kj3YHRGicmlmpqKwcYYMjUHb0w1YK29q80rTACGSpE6W ZJgaUrSs80I6pt4M1YiyRKPEApW/m2cfSo1VekL0jjTacKUm8jUpb+qs14CgYQvGbMIM TgNg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j18si5437602edw.209.2021.04.11.02.47.56; Sun, 11 Apr 2021 02:48:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235372AbhDKJrb (ORCPT + 99 others); Sun, 11 Apr 2021 05:47:31 -0400 Received: from paleale.coelho.fi ([176.9.41.70]:44456 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S235267AbhDKJr0 (ORCPT ); Sun, 11 Apr 2021 05:47:26 -0400 Received: from 91-156-6-193.elisa-laajakaista.fi ([91.156.6.193] helo=kveik.lan) by farmhouse.coelho.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1lVWfs-000Jkq-Re; Sun, 11 Apr 2021 12:46:38 +0300 From: Luca Coelho To: kvalo@codeaurora.org Cc: luca@coelho.fi, linux-wireless@vger.kernel.org Date: Sun, 11 Apr 2021 12:46:25 +0300 Message-Id: X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210411094630.431873-1-luca@coelho.fi> References: <20210411094630.431873-1-luca@coelho.fi> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on farmhouse.coelho.fi X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, TVD_RCVD_IP autolearn=ham autolearn_force=no version=3.4.5-pre1 Subject: [PATCH 07/12] iwlwifi: mvm: don't lock mutex in RCU critical section Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Johannes Berg We cannot lock a mutex while we're in an RCU critical section. At the same time, we're accessing data structures that are protected by the mvm->mutex anyway, so just move the entire locking here to use only that. Signed-off-by: Johannes Berg Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c index 130760572262..c3be03027aed 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* - * Copyright (C) 2012-2014, 2018-2020 Intel Corporation + * Copyright (C) 2012-2014, 2018-2021 Intel Corporation * Copyright (C) 2013-2015 Intel Mobile Communications GmbH * Copyright (C) 2016-2017 Intel Deutschland GmbH */ @@ -1210,10 +1210,10 @@ static int _iwl_dbgfs_inject_beacon_ie(struct iwl_mvm *mvm, char *bin, int len) IWL_UCODE_TLV_API_NEW_BEACON_TEMPLATE)) return -EINVAL; - rcu_read_lock(); + mutex_lock(&mvm->mutex); for (i = 0; i < NUM_MAC_INDEX_DRIVER; i++) { - vif = iwl_mvm_rcu_dereference_vif_id(mvm, i, true); + vif = iwl_mvm_rcu_dereference_vif_id(mvm, i, false); if (!vif) continue; @@ -1253,18 +1253,16 @@ static int _iwl_dbgfs_inject_beacon_ie(struct iwl_mvm *mvm, char *bin, int len) &beacon_cmd.tim_size, beacon->data, beacon->len); - mutex_lock(&mvm->mutex); iwl_mvm_mac_ctxt_send_beacon_cmd(mvm, beacon, &beacon_cmd, sizeof(beacon_cmd)); mutex_unlock(&mvm->mutex); dev_kfree_skb(beacon); - rcu_read_unlock(); return 0; out_err: - rcu_read_unlock(); + mutex_unlock(&mvm->mutex); return -EINVAL; } -- 2.31.0