From patchwork Thu Jan 3 02:12:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larry Finger X-Patchwork-Id: 1020156 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=lwfinger.net Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Ont/d80D"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43VWfT0sdTz9s55 for ; Thu, 3 Jan 2019 13:13:05 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728072AbfACCND (ORCPT ); Wed, 2 Jan 2019 21:13:03 -0500 Received: from mail-ot1-f67.google.com ([209.85.210.67]:44921 "EHLO mail-ot1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727571AbfACCND (ORCPT ); Wed, 2 Jan 2019 21:13:03 -0500 Received: by mail-ot1-f67.google.com with SMTP id f18so28267982otl.11; Wed, 02 Jan 2019 18:13:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=+qvHAmDHyv8QchLy75nOzpso1A4IMHlgKU/nq3yQSmg=; b=Ont/d80DdDEUJVR9JrdKfZ8bqmThEDVwE9alXKIZmMs4+q41Q2e7zdsxe9b1xvok6x 4bjOFNUFaNaAzApUCI8ZRvYLFufBUvQqfQd46DDsQ3TvXJeCJ9A2HNBGoLmVQAUe8vxM BJWyS4I/Jt2wsJxB3Jm9yrPvjhrVpj2WGJm+JBDWsmX12qnGbfN+OuNwqYbr+WmiuKwc CVb3fgmmnQOj1zZ4n1rCVTkQDWxYMNcvb8az6eX5GohuCvYewVxwQU+3dYJ7ZaBJ6u22 cz5HgUS/RA2lmzSDFr3Hf3o+Sl1V9kQPtRqXkEChu4StvmJ6QFvkWLSx3AYPaHQxBJ88 qtEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=+qvHAmDHyv8QchLy75nOzpso1A4IMHlgKU/nq3yQSmg=; b=Iigmzj5eZQ5l9i6tmVwKlMWGYuAnOkyy0+5Te5hVYUvT8RMYu7XpNG3SVEIgPZI1W5 TtHq4GC5kz9FntdOtLLFsE0XoEyUSd+QzrQhFfoR/0Ll22qttKTDii575By+XNhDuScZ 876GsX8cC1mjIgt6NLZCzruBjk0Tl+qhSUa3wdkJvlc2v0jXtrUxHl4iWn8XO7ot7gr9 VLp7bXZESH79FGPR5j084G8AU1EcEsYq5zBtf6qbv38MokBDQwayLo2ABhokVd+Xn5uV WcES8tZFyrpoWh/QeFYjB9aksOaEt2Cx2iietaTYVWloRS/fSJUOj3ZgjsZK/fa3akwE X9QA== X-Gm-Message-State: AJcUukdB81EIIKsBSQ4JoMgB1VtR8kW23zxmyJhx7vtoJLUBBEUMnvbt qDCXKtX3RLdISLsMbRYAMp0= X-Google-Smtp-Source: ALg8bN6XYfSG7NucMN33oZV1y4dUVdEdBb8NRrzIpdpcXsLHg5Kz+IZtvU0MqdpMRhGR+hiYvy+yvw== X-Received: by 2002:a9d:6f8e:: with SMTP id h14mr30389198otq.241.1546481582113; Wed, 02 Jan 2019 18:13:02 -0800 (PST) Received: from localhost.localdomain (cpe-24-31-245-230.kc.res.rr.com. [24.31.245.230]) by smtp.gmail.com with ESMTPSA id v3sm49418239oib.57.2019.01.02.18.13.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Jan 2019 18:13:01 -0800 (PST) From: Larry Finger To: gregkh@linuxfoundation.org Cc: netdev@vger.kernel.org, devel@driverdev.osuosl.org, Larry Finger , Stable , Ivan Safonov Subject: [PATCH 1/2] staging: rtl8188eu: Fix module loading from tasklet for CCMP encryption Date: Wed, 2 Jan 2019 20:12:46 -0600 Message-Id: <20190103021247.19367-2-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190103021247.19367-1-Larry.Finger@lwfinger.net> References: <20190103021247.19367-1-Larry.Finger@lwfinger.net> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Commit 6bd082af7e36 ("staging:r8188eu: use lib80211 CCMP decrypt") causes scheduling while atomic bugs followed by a hard freeze whenever the driver tries to connect to a CCMP-encrypted network. Experimentation showed that the freezes were eliminated when module lib80211 was preloaded, which can be forced by calling lib80211_get_crypto_ops() directly rather than indirectly through try_then_request_module(). With this change, no BUG messages are logged. Fixes: 6bd082af7e36 ("staging:r8188eu: use lib80211 CCMP decrypt") Cc: Stable # v4.17+ Reported-and-tested-by: Michael Straube Cc: Ivan Safonov Signed-off-by: Larry Finger --- drivers/staging/rtl8188eu/core/rtw_security.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_security.c b/drivers/staging/rtl8188eu/core/rtw_security.c index f7407632e80b..052656a22821 100644 --- a/drivers/staging/rtl8188eu/core/rtw_security.c +++ b/drivers/staging/rtl8188eu/core/rtw_security.c @@ -1291,7 +1291,7 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) struct sk_buff *skb = ((struct recv_frame *)precvframe)->pkt; void *crypto_private = NULL; u8 *key, *pframe = skb->data; - struct lib80211_crypto_ops *crypto_ops = try_then_request_module(lib80211_get_crypto_ops("CCMP"), "lib80211_crypt_ccmp"); + struct lib80211_crypto_ops *crypto_ops = lib80211_get_crypto_ops("CCMP"); struct security_priv *psecuritypriv = &padapter->securitypriv; char iv[8], icv[8]; From patchwork Thu Jan 3 02:12:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larry Finger X-Patchwork-Id: 1020157 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=lwfinger.net Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gWbtkXj5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43VWfY2yKJz9s55 for ; Thu, 3 Jan 2019 13:13:09 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728084AbfACCNI (ORCPT ); Wed, 2 Jan 2019 21:13:08 -0500 Received: from mail-ot1-f65.google.com ([209.85.210.65]:34943 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727013AbfACCNH (ORCPT ); Wed, 2 Jan 2019 21:13:07 -0500 Received: by mail-ot1-f65.google.com with SMTP id 81so28297155otj.2; Wed, 02 Jan 2019 18:13:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=pQDWrDKbK/d0L97SoaGnxXZTvvCu6+/OxEQuZmVYEf8=; b=gWbtkXj5jOrUFi+zks4WHzUs5nbzCrRBBwgAcGLQS/mk2J3PRPrZ59/p8BrBL62l5q qnxXmpyZ7Hye2GSlvFkW5k/NRsA+rY1qJSAvj8XgnhgPfVuQIwWbfwyJHfkQ43xczpeE Qipg2q9MiuJA8gxPTKk79cAqpvMfjdh1KeQi/ohTcxD4C6wJZXoYjpkbXUetgmPgHv6T f1vXxWss6Glp/+OyLPVTrXqEsOunLATwJWYGF/sf7diBi/jKTysjlUZSgEZ5TtMFJzWA 1TIXEe5JiAQApqJ+O76xSu80t6ACJreje2mkPYdr4urIEqmS1UPCo8qDqHihWq8sFxba MdaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=pQDWrDKbK/d0L97SoaGnxXZTvvCu6+/OxEQuZmVYEf8=; b=luLTVYPKgSa5gAOSGO6Y2qydtgwgRWwGjCG/rWySRbCETzTlST/btIUnUMP5RjE4h7 uSSEr+5rdLY2hmrl5qY8U6W5VRBgNcWG40t9K8moMtF0Kqz5q6ffAhbpQ1/QHC7su9sU SKA6ifeGxjXdufsiujJswr0oMFk7Y3kOOoMD+kB4Oh1SdgXxqd0OFCttjCdaWulDaTK/ N/0cz3zwSntlyfPK0TZwOvguSOXdQVv6w3ccAg5rxy0U5rTDsE+cTEWEsvMlRqfm6dlO 5twMfIxII00+xPRwFKW9NtX7nfrg7V9KpelYHEI0jH0VFPHE/yB1hPIsduunSEBi5H+F 7qNg== X-Gm-Message-State: AJcUukcJEVya8LuNSrMKD8WauthukBaDgIYn3cYSOMPkieKj6/3nBwbc u4ksBjzyeaQtrdc+K2t1u+M= X-Google-Smtp-Source: ALg8bN4eXAkHZuBFcdC0e6X4LblZYvoMhC6c38QHh4UFrUGba8oxrJEVFjnl+sWAuRh6Mu439NQlsQ== X-Received: by 2002:a9d:721e:: with SMTP id u30mr7139928otj.203.1546481586599; Wed, 02 Jan 2019 18:13:06 -0800 (PST) Received: from localhost.localdomain (cpe-24-31-245-230.kc.res.rr.com. [24.31.245.230]) by smtp.gmail.com with ESMTPSA id v3sm49418239oib.57.2019.01.02.18.13.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Jan 2019 18:13:06 -0800 (PST) From: Larry Finger To: gregkh@linuxfoundation.org Cc: netdev@vger.kernel.org, devel@driverdev.osuosl.org, Larry Finger , Stable , Michael Straube , Ivan Safonov Subject: [PATCH 2/2] staging: rtl8188eu: Fix module loading from tasklet for WEP encryption Date: Wed, 2 Jan 2019 20:12:47 -0600 Message-Id: <20190103021247.19367-3-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190103021247.19367-1-Larry.Finger@lwfinger.net> References: <20190103021247.19367-1-Larry.Finger@lwfinger.net> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Commit 2b2ea09e74a5 ("staging:r8188eu: Use lib80211 to decrypt WEP-frames") causes scheduling while atomic bugs followed by a hard freeze whenever the driver tries to connect to a WEP-encrypted network. Experimentation showed that the freezes were eliminated when module lib80211 was preloaded, which can be forced by calling lib80211_get_crypto_ops() directly rather than indirectly through try_then_request_module(). With this change, no BUG messages are logged. Fixes: 2b2ea09e74a5 ("staging:r8188eu: Use lib80211 to decrypt WEP-frames") Cc: Stable # v4.17+ Cc: Michael Straube Cc: Ivan Safonov Signed-off-by: Larry Finger --- drivers/staging/rtl8188eu/core/rtw_security.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_security.c b/drivers/staging/rtl8188eu/core/rtw_security.c index 052656a22821..bab96c870042 100644 --- a/drivers/staging/rtl8188eu/core/rtw_security.c +++ b/drivers/staging/rtl8188eu/core/rtw_security.c @@ -154,7 +154,7 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset; - crypto_ops = try_then_request_module(lib80211_get_crypto_ops("WEP"), "lib80211_crypt_wep"); + crypto_ops = lib80211_get_crypto_ops("WEP"); if (!crypto_ops) return; @@ -210,7 +210,7 @@ int rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe) void *crypto_private = NULL; int status = _SUCCESS; const int keyindex = prxattrib->key_index; - struct lib80211_crypto_ops *crypto_ops = try_then_request_module(lib80211_get_crypto_ops("WEP"), "lib80211_crypt_wep"); + struct lib80211_crypto_ops *crypto_ops = lib80211_get_crypto_ops("WEP"); char iv[4], icv[4]; if (!crypto_ops) {