Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1177388pxb; Thu, 28 Jan 2021 09:43:25 -0800 (PST) X-Google-Smtp-Source: ABdhPJxdc1D3gMdsVDGPqx/IPgpQYRNEm1qJT9rXkjpOPCqFa9IYhSc3BhNtDOrpqlnF96OCmu1P X-Received: by 2002:a05:6402:942:: with SMTP id h2mr793141edz.128.1611855805328; Thu, 28 Jan 2021 09:43:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611855805; cv=none; d=google.com; s=arc-20160816; b=xKZkHKv5s0kBJZ/S/WvNqCpluGXbW1CQyZfE9wi2rjpgUCFuLfYZIC7lOrRAB6VIxJ iNWkGt65uXI2W8zMRJQowzTik91142mvOJhVsvSm0Qn/Vv5ETv4+LV9ws+o3Ngxs+dRs 8FHHctvKsWBakt9NE0M2/t2d60z25DxcaZxzsdtpZ1OqUlCuI7VYOKnj5Vsv36tNntV8 os865NSxIrwIqp3siS6dxbtPZldT5Ixs0FoCol5hStKbqnq5eZLcMh8MjjxjpYm6vAZW C5ukQxjBUlGOFIOwc/OsHujOf5+9a2oWz5L8EmTwYKmYHKNx0EZnUu/Y1nivjuaa3Al+ UQkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=LwjDdi5yAIi+pjMSLSctNfmNTMOLemA3t55/WJjIkPQ=; b=dmmiwtmgqX+h1HMhECpuMYONbAMeFjklniaV70KPf9s82tQLGBia40ETQydSAZVeI+ PSegVBPL0DsYi+XZib4zY6LxKBEDtZskvAI+nwRUGOO25xsZhMJL6oZd1SdzJ8NxH6JT ZGSym2F4g08woKPDojI0MLEBfWtp9TtGyuPDfI5KjVn7ttNBNRPEA5dQqmL0AgTOE/1K jzAsMR/rpi4G21XXrOPdlSEa5slIVIPSDTd8pr4R/fi0+ktAONCvH7VnJcL+NV3rrilJ HJGgxW6kT6zXclTVZz8P8tE6MaY8CcT0Kvdxlji+ROJZsysR7bWfn+ppnSlWyG6EbuTX FUtQ== 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 g23si3424629edh.11.2021.01.28.09.42.59; Thu, 28 Jan 2021 09:43:25 -0800 (PST) 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 S233223AbhA1RhT (ORCPT + 99 others); Thu, 28 Jan 2021 12:37:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233168AbhA1RgU (ORCPT ); Thu, 28 Jan 2021 12:36:20 -0500 Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:191:4433::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4473DC06178C for ; Thu, 28 Jan 2021 09:35:38 -0800 (PST) Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94) (envelope-from ) id 1l5BCi-00CwTh-EB; Thu, 28 Jan 2021 18:35:36 +0100 From: Johannes Berg To: linux-wireless@vger.kernel.org Cc: Johannes Berg Subject: [PATCH 3/4] wext: call cfg80211_set_encryption() with wiphy lock held Date: Thu, 28 Jan 2021 18:35:27 +0100 Message-Id: <20210128183454.ea2f086465ed.I891d3bb44f068e6d97c160005010f052f28ab6e5@changeid> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210128173528.76393-1-johannes@sipsolutions.net> References: <20210128173528.76393-1-johannes@sipsolutions.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Johannes Berg Similar to the previous commit, we need to hold the wiphy lock here. There's a second instance that is correct already, fix this one as well. Fixes: a05829a7222e ("cfg80211: avoid holding the RTNL when calling the driver") Signed-off-by: Johannes Berg --- net/wireless/wext-compat.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c index 0c6ea6212496..a8320dc59af7 100644 --- a/net/wireless/wext-compat.c +++ b/net/wireless/wext-compat.c @@ -655,6 +655,7 @@ static int cfg80211_wext_siwencodeext(struct net_device *dev, bool remove = false; struct key_params params; u32 cipher; + int ret; if (wdev->iftype != NL80211_IFTYPE_STATION && wdev->iftype != NL80211_IFTYPE_ADHOC) @@ -726,12 +727,16 @@ static int cfg80211_wext_siwencodeext(struct net_device *dev, params.seq_len = 6; } - return cfg80211_set_encryption( + wiphy_lock(wdev->wiphy); + ret = cfg80211_set_encryption( rdev, dev, !(ext->ext_flags & IW_ENCODE_EXT_GROUP_KEY), addr, remove, ext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY, idx, ¶ms); + wiphy_unlock(wdev->wiphy); + + return ret; } static int cfg80211_wext_giwencode(struct net_device *dev, -- 2.26.2