Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1595409ybv; Thu, 20 Feb 2020 23:58:59 -0800 (PST) X-Google-Smtp-Source: APXvYqz13jqI3MeJZgj7kS/O3wUFl4vtAgqNlFkUKx+VpudBzno9yKxNAU8t9/s2DOXU5bsF1WpW X-Received: by 2002:aca:4ece:: with SMTP id c197mr948202oib.53.1582271939050; Thu, 20 Feb 2020 23:58:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582271939; cv=none; d=google.com; s=arc-20160816; b=Hw0iSboA5q3IAUHokHkcOh/HrhkAQUoeclj8b3y7p/6kEEuj+LTkX8nYulAnTu+VXD Z+cTmtpQRrEeiw6+CllZOoGgxpTxjew9YJA0SJ2kL4C7iDQkxpJeGhHhkPDnly80E6LN neh2wI8lJoggCBBzZYmrwQfO8x/Po6pLUwVqmsj6l08AB+thOdfX3gD5dRG+cGvf9bPC v/V73JrE7lzV6bTZUzDnDHNoCHYc/LaI0cAs3koQHzjyscumAExrTBrYMwLtZWCfJhYz zRYZxgjaVc8v02yVMfNJZKWm0Nutbfml0upzedzXRf5jim/+BUeGwn4hHfhBJX9cz9nL DW9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LeQ73ZpajuQs3xxtbCJWoPZWbYIjh+aA8VoZ0VZeS5M=; b=Vew00a1m3P+w29AXAKQ5gPbONCLCSCSDN7v53XewbWIlyD/DxNnLWrTjf9Hy2Q/2SE hBLF2sl94rHZea9p1EpJi7hqhVE4zEYdoBv8srn6cjszBgqxqOmOMe6uFgSFk2BnPrfG E4v0TFRA4+UoV/07JBfJqgkVi/egGBK0Xre2eZbX+Usj//U6uoF3JB8O5+712C6UTw4n JrT63G1ROwjMu6Bj31c8+P2vZkFmA9M4IiHLGOrmrJyxwmz/83QLtpAhZIzUeZay/wQA 4ARrkJGAp0ombdwo/2fKZS6/o9Vhl9Cqe3MopfQ9X1VH+siUtNfyuUAh66KlhehihNKZ ALMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RWPqGFfg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l11si1086456otn.189.2020.02.20.23.58.47; Thu, 20 Feb 2020 23:58:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RWPqGFfg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730812AbgBUH6o (ORCPT + 99 others); Fri, 21 Feb 2020 02:58:44 -0500 Received: from mail.kernel.org ([198.145.29.99]:58540 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729326AbgBUH6l (ORCPT ); Fri, 21 Feb 2020 02:58:41 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 70E4E206ED; Fri, 21 Feb 2020 07:58:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582271920; bh=72jwIr70tZSmKLso6PZnaN8QwHlfCrUagBq8IFNznWo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RWPqGFfghfU6inSkLCqrmz8fP2VHVrXFCN0F19mxGPJBc3bXPmliIBbRROxBY2RCa 4J65nOj+2eMf3o53zfjBEAYmF81TpJ7hAwVAwmdNUHjRu96duAllOB97XvM3pgGDlM ZfEbcU5rvFUaSlqtnf/nqtAiTHoOIkz9ZpQ5Awu0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yan-Hsuan Chuang , Kalle Valo , Sasha Levin Subject: [PATCH 5.5 347/399] rtw88: fix potential NULL skb access in TX ISR Date: Fri, 21 Feb 2020 08:41:12 +0100 Message-Id: <20200221072434.452782197@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200221072402.315346745@linuxfoundation.org> References: <20200221072402.315346745@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yan-Hsuan Chuang [ Upstream commit f4f84ff8377d4cedf18317747bc407b2cf657d0f ] Sometimes the TX queue may be empty and we could possible dequeue a NULL pointer, crash the kernel. If the skb is NULL then there is nothing to do, just leave the ISR. And the TX queue should not be empty here, so print an error to see if there is anything wrong for DMA ring. Fixes: e3037485c68e ("rtw88: new Realtek 802.11ac driver") Signed-off-by: Yan-Hsuan Chuang Signed-off-by: Kalle Valo Signed-off-by: Sasha Levin --- drivers/net/wireless/realtek/rtw88/pci.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c index a58e8276a41a3..a6746b5a9ff2d 100644 --- a/drivers/net/wireless/realtek/rtw88/pci.c +++ b/drivers/net/wireless/realtek/rtw88/pci.c @@ -832,6 +832,11 @@ static void rtw_pci_tx_isr(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci, while (count--) { skb = skb_dequeue(&ring->queue); + if (!skb) { + rtw_err(rtwdev, "failed to dequeue %d skb TX queue %d, BD=0x%08x, rp %d -> %d\n", + count, hw_queue, bd_idx, ring->r.rp, cur_rp); + break; + } tx_data = rtw_pci_get_tx_data(skb); pci_unmap_single(rtwpci->pdev, tx_data->dma, skb->len, PCI_DMA_TODEVICE); -- 2.20.1