Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp3360922iob; Mon, 16 May 2022 20:39:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyXJHn3OhY1sqU7j4JkWloHVUNnG7PDFI5RS+0vNFKmgoQWLMyx6sNRgUBNkq6E4+HMrpzZ X-Received: by 2002:aa7:c314:0:b0:42a:bb52:59d2 with SMTP id l20-20020aa7c314000000b0042abb5259d2mr5338990edq.167.1652758778569; Mon, 16 May 2022 20:39:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652758778; cv=none; d=google.com; s=arc-20160816; b=AMzUkectRwr4wXnSMKe+qgNhUt3clA4JPdGBJV+PtzQldUxGs9062Q5Q0hWjlfGRkm wcuAVtX5R1/i1Sam4V7LIhmfVl5pcEUcqE9NhvV8lxZ6PLu3meiBIm5+JBI6rRwi3dwj JM+xwHA5EnHjyZmsXsfYojzn9QfeS636UwbWzQfkqlhrVxHIyOu0AwXVto2/VVMBBYNP vcWp4D0VP2iLXGpMObjZozV12XS+Lpd+/a/zQNJct36I5iozDCe1hdSONxBpJsRyWeLR azqwI1FfiwwPe5QRLnwiuERzmHzZ92zv2J+HJnmgdkcp0Z5Q8zf+XzlNSttMDMP1dxH3 vr+Q== 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=brnq1MFouXqAQGdsGR3d/qWXUa1aQZtUl+xMIJi90uw=; b=f3xwnYsyr/mw90czuBbjpMckNHqybGLSr3TfcVrm1jz3K6ZAgUjQJo4ZTPOPQnX0G1 neka5fHTrWWzFsY9Zm6+9Mm/Z6ReMuax4giRNE/Ob99cO5iwIcvYjGGD7xhk+cj4lbXo NsykUcKTm1mUHsZvJiOcPR018HStaOzXofZ7lO1vJ8L+/ePyhKlcDSEWtaCSHgWDGBKS iXcR5BAtHSLGa7Xy1o7jq4dDkYbTJi3Z+p4roddLWAd/5Ewv0l3s4Whl3SlTjrWOWQPV w5zVhlgd/CwvPcq0kUFAv0bIciGaa4aS15hOj3+7bF9Qlmwc1TTL39Rura85cJ67K7if DLHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=p3lvg7a+; 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 hr39-20020a1709073fa700b006f3d3dd8173si1400888ejc.929.2022.05.16.20.39.13; Mon, 16 May 2022 20:39:38 -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=p3lvg7a+; 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 S1348796AbiEPU1t (ORCPT + 99 others); Mon, 16 May 2022 16:27:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349930AbiEPUAf (ORCPT ); Mon, 16 May 2022 16:00:35 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DEF904551D; Mon, 16 May 2022 12:54:43 -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 D2C8D60ABE; Mon, 16 May 2022 19:54:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEC63C385AA; Mon, 16 May 2022 19:54:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1652730852; bh=ize+Z2p1919wg9IWVHSx8lwSDKILqvYJ8heBHS0qlLo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p3lvg7a+9e2yBVT7rvKqgh6o9rNjTdj0JLSJH+hoq/d+qTtMU312bEcu85FDEoJg9 kRgFOh62dkXZ1I5ZrtSmbw+xBEpSj2XHN2/4KcRjPiTdTS+aOBN0G9OZJHczQZZaLU 84H/E415VoFqpkfB9W0ITn8c/8rNzZaIAa/Lvqos= 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.17 025/114] mac80211_hwsim: call ieee80211_tx_prepare_skb under RCU protection Date: Mon, 16 May 2022 21:35:59 +0200 Message-Id: <20220516193626.215203515@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220516193625.489108457@linuxfoundation.org> References: <20220516193625.489108457@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 fc5725f6daee..4a91d5cb75c3 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