Received: by 2002:a17:90a:9103:0:0:0:0 with SMTP id k3csp11802604pjo; Thu, 2 Jan 2020 14:32:34 -0800 (PST) X-Google-Smtp-Source: APXvYqz9Utw0/lZgV+NJKYzwnWijuqrevRE+v9Z4MoO5zj0jl1I5WBqmCGtWq0wIksByc9jtySIw X-Received: by 2002:a9d:6f0d:: with SMTP id n13mr98342769otq.165.1578004354461; Thu, 02 Jan 2020 14:32:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578004354; cv=none; d=google.com; s=arc-20160816; b=ORjnyJWOVKENW9NCWc2cJwFPNvBDdpTr5tHQZS8ATOGRKow5t56CPo8VLnKNfJXRkI wzHfGTE7/IsAqJY2/WtmGKXKVwBj8MqT5InHqDjRXUyKTFK8nc9PKVD5zEFgbXt1YO3W ZvSAHGfQ2KFNE6/DvY4kdnMPIcTjrX+Ft1fMVlIPjih8yKaFW+uqznBK+TSWo0zxUgJD ffdwmlrfzUPUYDbGyl7citlaIRJSqisR5QUKLkLpsBPGHJvDBGM1FwYpmQkSh+H5fTd6 Heyp8rsE/xI+D9APG4J7CFZ7ujabOp4ZgXkk+c1FnehOEAGrjekWBZy6prhPfljGomfW h5zQ== 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=1DNKbl+udze110U4aUrPv9L1VqeKre/8qzQX+2KhiBw=; b=VbF7BVhAe4zGYa7XK7kSwaMThHNCc6Ta0fJYElChoYZEbayEezBpUor2yZDJIW7v05 dDqrwaV7NPJuTH0EIHlbnjfkBnia06CJQchK9sBGevXAX/eC+AwLS96XkPO/soH8hG/a ut+znzvFqaP9hcuqyDMHS2HORtO+j95cdN2YdEVBdLyAESFhuoYvtjd+vyPlnlcpyb+K 4IMT2BpfWxziDHP6jjgtbQdfJnc1F6cP5RbiGR9f2fbe4uU1oW4FB4rdkrhZdxlRdhyg Jmd0heVQJpm6LvRBB+kih5jhAu07enud6p4fiVu0mUeq+m7+zoci5t+cnHtKTmhAiiVz ynxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=rlQUyKVh; 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 j13si29496474otq.146.2020.01.02.14.32.22; Thu, 02 Jan 2020 14:32:34 -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=rlQUyKVh; 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 S1730202AbgABWar (ORCPT + 99 others); Thu, 2 Jan 2020 17:30:47 -0500 Received: from mail.kernel.org ([198.145.29.99]:34972 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730196AbgABWao (ORCPT ); Thu, 2 Jan 2020 17:30:44 -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 4418B20863; Thu, 2 Jan 2020 22:30:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578004243; bh=Tj/9HI+043J3G7z/Ustf6rJ/jR00Aw9f9WNcSX0ryok=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rlQUyKVhMfbakTFkl/SXaRnhhCXcZ3MusBVkd7/JkX3qkBINzpe09PmojI0PTJRW/ aiBDZblhgMrNQlp8Zg8wtmx/03QPbbPvnCNkVKAe8kj4HfStqIBa0zIXC88gewvfTp 8IHGHJJYOA48X4ZqjZ+gMKI2cn9bla7CMLudLSNM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Wang Xuerui , Luca Coelho , Kalle Valo , Sasha Levin Subject: [PATCH 4.9 072/171] iwlwifi: mvm: fix unaligned read of rx_pkt_status Date: Thu, 2 Jan 2020 23:06:43 +0100 Message-Id: <20200102220556.908450992@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200102220546.960200039@linuxfoundation.org> References: <20200102220546.960200039@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: Wang Xuerui [ Upstream commit c5aaa8be29b25dfe1731e9a8b19fd91b7b789ee3 ] This is present since the introduction of iwlmvm. Example stack trace on MIPS: [] iwl_mvm_rx_rx_mpdu+0xa8/0xb88 [iwlmvm] [] iwl_pcie_rx_handle+0x420/0xc48 [iwlwifi] Tested with a Wireless AC 7265 for ~6 months, confirmed to fix the problem. No other unaligned accesses are spotted yet. Signed-off-by: Wang Xuerui Signed-off-by: Luca Coelho Signed-off-by: Kalle Valo Signed-off-by: Sasha Levin --- drivers/net/wireless/intel/iwlwifi/mvm/rx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c index b78e60eb600f..d0aa4d0a5537 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/rx.c @@ -62,6 +62,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +#include #include #include #include "iwl-trans.h" @@ -289,7 +290,7 @@ void iwl_mvm_rx_rx_mpdu(struct iwl_mvm *mvm, struct napi_struct *napi, rx_res = (struct iwl_rx_mpdu_res_start *)pkt->data; hdr = (struct ieee80211_hdr *)(pkt->data + sizeof(*rx_res)); len = le16_to_cpu(rx_res->byte_count); - rx_pkt_status = le32_to_cpup((__le32 *) + rx_pkt_status = get_unaligned_le32((__le32 *) (pkt->data + sizeof(*rx_res) + len)); /* Dont use dev_alloc_skb(), we'll have enough headroom once -- 2.20.1