Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp3318444iob; Mon, 16 May 2022 19:13:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyj8q2RQqPZNPy/3TqQ8qATAYj0iLo3yCj7tHwSWDtYHOkgD0ae/2QuMUqfGCf9qYl/ejyD X-Received: by 2002:a05:6402:3586:b0:427:b16e:a191 with SMTP id y6-20020a056402358600b00427b16ea191mr16147585edc.137.1652753621453; Mon, 16 May 2022 19:13:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652753621; cv=none; d=google.com; s=arc-20160816; b=ETpsEvB83vk+Q5EH06gYlsBn4iWOOZeUuEMz8GKXdfphBBCsxRst7PiGZE09jjHLJa igW3QjJlc5wXGQTw9N7iG0PYHwQ0JzlTYEG4seR7/GAmHpro8S2SbCryMlVcbD5kYoPj MGQ8DIFOSFhP2H7M/Mk6U+b/U/KYO2BCJv2XhFULWFOBn5blpe8VUItXt3T2v5f0TLtF xYlBoyr5CqI/M8NiGPoE91Gtlt4HQsLr1+kbhg09Bx4wVvd7YwcpjZZDjQY76lMWh1GQ lPImVsKvHYROt9dswHdOLZWH2lKcV3Z88SNrHmK1wmmSFKoTeM8Cg8+F1EshOfSPe5h9 Im5w== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=vvNAQn06uMnmvBfzY02ml/OCilkxQlrNKgpTHCmUs08=; b=jV3X3C2PphCHHrHFY2BcB3PJeMXIlLgkfaixuAmpwYa+cIRmyKJ4Ui3n+oT2abDhGb dywdr23UbQ2OMNZu37r/6rfvPNiJ18y/ybDhCTLS8/Sls/b0MrzCO0Pwb/24k1MVSpKs WeWpPc4tVZzvjkD/+FUdvbvBVSsLFL3LeWjfvlDEsFETUBNUf4vIaKptQBba4hyk/Hdm KKHnVnSZFiiilm28mTWQWEUxu6XjNlV7Gbanj3A2XhLwiXZq4uGAmXJuS4qpfxmYwxVZ Wc783kyHKw1+a2dpTECtoNGu9FHym0e822eUx1CP/MRMml/YH1xr60p6uKsinqPZPnLO 4jNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=xcVY0p5y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fd17-20020a056402389100b0042ab4438764si3519244edb.621.2022.05.16.19.13.16; Mon, 16 May 2022 19:13:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=xcVY0p5y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230246AbiEPUCl (ORCPT + 99 others); Mon, 16 May 2022 16:02:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348680AbiEPTxB (ORCPT ); Mon, 16 May 2022 15:53:01 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7DA6746B19; Mon, 16 May 2022 12:48:50 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0A8A260A1C; Mon, 16 May 2022 19:48:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F19F3C385AA; Mon, 16 May 2022 19:48:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1652730513; bh=7DJ5BAWhmg56XBhvO6oJPJrAF4OBcWjACq/VmW8lzk4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xcVY0p5yw1uMaAN6Ifsg2MObtcW487hvk6Jjo1QtA865uA9qTP/Q0u/jy0wRmuaW5 UlB0EkYBr0TPC/Ku64lJB5Slz0fkq9quufJdPktZHUPDZkP5ozZV7Lk7AnWVWqk1zM znQTBWom7MZRkzibloPLYqLi6/qGxAG8g2369Iag= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Johannes Berg , Sasha Levin Subject: [PATCH 5.15 023/102] mac80211_hwsim: call ieee80211_tx_prepare_skb under RCU protection Date: Mon, 16 May 2022 21:35:57 +0200 Message-Id: <20220516193624.665920191@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220516193623.989270214@linuxfoundation.org> References: <20220516193623.989270214@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Johannes Berg [ Upstream commit 9e2db50f1ef2238fc2f71c5de1c0418b7a5b0ea2 ] This is needed since it might use (and pass out) pointers to e.g. keys protected by RCU. Can't really happen here as the frames aren't encrypted, but we need to still adhere to the rules. Fixes: cacfddf82baf ("mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work") Signed-off-by: Johannes Berg Link: https://lore.kernel.org/r/20220505230421.5f139f9de173.I77ae111a28f7c0e9fd1ebcee7f39dbec5c606770@changeid Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- drivers/net/wireless/mac80211_hwsim.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index 0aeb1e1ec93f..c3189e2c7c93 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c @@ -2336,11 +2336,13 @@ static void hw_scan_work(struct work_struct *work) if (req->ie_len) skb_put_data(probe, req->ie, req->ie_len); + rcu_read_lock(); if (!ieee80211_tx_prepare_skb(hwsim->hw, hwsim->hw_scan_vif, probe, hwsim->tmp_chan->band, NULL)) { + rcu_read_unlock(); kfree_skb(probe); continue; } @@ -2348,6 +2350,7 @@ static void hw_scan_work(struct work_struct *work) local_bh_disable(); mac80211_hwsim_tx_frame(hwsim->hw, probe, hwsim->tmp_chan); + rcu_read_unlock(); local_bh_enable(); } } -- 2.35.1