From patchwork Wed Apr 22 11:19:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 227001 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FEB7C55185 for ; Wed, 22 Apr 2020 11:20:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1027020787 for ; Wed, 22 Apr 2020 11:20:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Up71fCq/" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726327AbgDVLUD (ORCPT ); Wed, 22 Apr 2020 07:20:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725787AbgDVLUD (ORCPT ); Wed, 22 Apr 2020 07:20:03 -0400 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC5BAC03C1A8 for ; Wed, 22 Apr 2020 04:20:02 -0700 (PDT) Received: by mail-wr1-x443.google.com with SMTP id k1so1933412wrx.4 for ; Wed, 22 Apr 2020 04:20:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=VpbOaOtIIxM0qlnpSC/R72ufsSNvdYgk1tUvm25+WkY=; b=Up71fCq/12rTkyAKtdTiL7TNSD552dl6adsx/5ZCNZ8Mg68v3T2hAvfTkJY+ihpJfk QUQfdmOIH7UlWjyRzqYRo5sIK+5SmSUUvdoIkwOmJ/XXcuPg3SjXhcGDzhpj2G9piufh ikZwVPLVr1l8ovDs32iLmSTZFNoepP6s/5YT5mORcR2/43/PjUsku+bFKP+F9h6zZGZh c1zU4lZzpZ/k1rYj9fV9HJCKkik3NMeUTrBRjKkxkzmtfMQkIRV79c62loWEBsuWTkC2 W2+PMSMiQqRmE9mKqP0mECGpehrOdXZ1cjlyeL5zcdDb/L+ahVNxi5NhZAcx6l6w78L4 4/wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=VpbOaOtIIxM0qlnpSC/R72ufsSNvdYgk1tUvm25+WkY=; b=ZagtBxhJZHxuGq+3HSHREMNlD824NNoospgSXBcUygF29OeiDujlK7y1TWB48NFHcW SZXZhXe1oittjjVqkEHySycqlP+eTtUpx1lv4r/46jQywmFINuuVYEkjSKQo6CMIT/h6 iCb3v0X3aNxBfAerueI1NPcUOL7glid4wvHq9CKcctCiAm13l8o/Oz+kJbEMt1dDVRme uTU6oyEQMJ6SO8Zr0+X9itGk12IpQOyC5g8tR+4lCNSZc36jItmIuzJEB6gXlB7F+C+p eSR+1uGt3cMGrHnGzuSlNPqoLfY5Tuw/czXq2nyL4UMJmsR3BjByqhscTSYE0MEGuujU ISXQ== X-Gm-Message-State: AGi0PuaRQKxACZAt2EXKfauiKqyMYleQsf4SaobnaDSshtZnuew+dypU RHz1PS4wrpGBavM02F3G4FyTNgM+pHE= X-Google-Smtp-Source: APiQypK+dG/rkQlWAlhg7CG42Zd//x1+KFY+U4SXZaFL9ZnIM40ps/SzodjqF/2pcyORFQHVvlZiQg== X-Received: by 2002:a05:6000:10:: with SMTP id h16mr29074471wrx.295.1587554401365; Wed, 22 Apr 2020 04:20:01 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:00 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Taniya Das , Stephen Boyd , Lee Jones Subject: [PATCH 4.9 01/21] clk: qcom: rcg: Return failure for RCG update Date: Wed, 22 Apr 2020 12:19:37 +0100 Message-Id: <20200422111957.569589-2-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Taniya Das [ Upstream commit 21ea4b62e1f3dc258001a68da98c9663a9dbd6c7 ] In case of update config failure, return -EBUSY, so that consumers could handle the failure gracefully. Signed-off-by: Taniya Das Link: https://lkml.kernel.org/r/1557339895-21952-2-git-send-email-tdas@codeaurora.org Signed-off-by: Stephen Boyd Signed-off-by: Lee Jones --- drivers/clk/qcom/clk-rcg2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c index d8601b138dc1e..29abb600d7e15 100644 --- a/drivers/clk/qcom/clk-rcg2.c +++ b/drivers/clk/qcom/clk-rcg2.c @@ -107,7 +107,7 @@ static int update_config(struct clk_rcg2 *rcg) } WARN(1, "%s: rcg didn't update its configuration.", name); - return 0; + return -EBUSY; } static int clk_rcg2_set_parent(struct clk_hw *hw, u8 index) From patchwork Wed Apr 22 11:19:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 227000 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A562CC55189 for ; Wed, 22 Apr 2020 11:20:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8389E20781 for ; Wed, 22 Apr 2020 11:20:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="DJ81VQVw" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726534AbgDVLUG (ORCPT ); Wed, 22 Apr 2020 07:20:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725787AbgDVLUF (ORCPT ); Wed, 22 Apr 2020 07:20:05 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2195FC03C1A8 for ; Wed, 22 Apr 2020 04:20:05 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id y24so1899152wma.4 for ; Wed, 22 Apr 2020 04:20:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rG8NefQITkcFodUASgLVxmZcYdKDQhtnZoRraZbfXxk=; b=DJ81VQVwYDGYmxX4iVajRi+BdKr3byau71b2x2oho4cjr5dMBmOMyU3zGu3jRr0Ogs s9S3rzfvjuYErJOQI6XSH4Bou9ecpBnEFoYfF0h7Wpejh6Dg/6JfK1N3UCsbE05NVxhO bMosaPcY5j74foNZuaIFRTF0R0N3g9zV/WnTrAkVtPf5FBKseo4PIHLxx3KhXZUoIX4V dv7/tzVZdsDB3U+5MVilC8tbH/5kyGldWPLbXYWX8SoItM2SDC0eV2sgsPxQXr3x/2/T EnWXIITxk/11cB7xLrNqFqWr6UzTIuM+n8ivhroFAamCXxPUFtkC94UPXHJbeet9Lk5s ccvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rG8NefQITkcFodUASgLVxmZcYdKDQhtnZoRraZbfXxk=; b=fsulLOcH5e83fmjIuP15ZYXZwTbELtHub7D/ihhhl6IK0t2Yis4CvmJ8DZD2QXERsC 7ID2f3FQLfyHaVH1QWv7ncJFesy+fOA6mhJijeleQ/LmtWDVHVA6CS3gZ3499PgDvH4a 9psD3xQOK/88gJa3G/5/rhStBaISdxLlMwevV14VWRhG09kmVLtCg+4ZEbqKFi8K3zej luLWF5WZ3Bs+3dJqMLJO+TrY+a1SstWCJEwuZ7zQhIYL7pVUjqkSDObB5L88cOwNRdh+ 3uwy9zFJ7/edg7BJaGvYZQGGiOvLg1xkLaWgNtOIu7kNstBVkeXx0roCeCRPRFQyx9dc C+QA== X-Gm-Message-State: AGi0Pua0eSVu+nTBpt79oxdUf71JRqcPGq2VBvIk6muUuBjAh1Non1iX spRNB1YlPsWAJ6x0YB0hAR6+hYqy+yI= X-Google-Smtp-Source: APiQypLr2To6KohkyA0sjKRCex1Sr2yJ53ahB3+R8pZ7m52AlpXYFVLrLwIh3qsEY3Cq8suSXGwF+Q== X-Received: by 2002:a05:600c:4096:: with SMTP id k22mr9293469wmh.99.1587554403642; Wed, 22 Apr 2020 04:20:03 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:03 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Arun KS , Mark Rutland , Will Deacon , Lee Jones Subject: [PATCH 4.9 03/21] arm64: Fix size of __early_cpu_boot_status Date: Wed, 22 Apr 2020 12:19:39 +0100 Message-Id: <20200422111957.569589-4-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Arun KS [ Upstream commit 61cf61d81e326163ce1557ceccfca76e11d0e57c ] __early_cpu_boot_status is of type long. Use quad assembler directive to allocate proper size. Acked-by: Mark Rutland Signed-off-by: Arun KS Signed-off-by: Will Deacon Signed-off-by: Lee Jones --- arch/arm64/kernel/head.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 3b10b93959607..aba534959377b 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -650,7 +650,7 @@ ENTRY(__boot_cpu_mode) * with MMU turned off. */ ENTRY(__early_cpu_boot_status) - .long 0 + .quad 0 .popsection From patchwork Wed Apr 22 11:19:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226999 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89784C5518A for ; Wed, 22 Apr 2020 11:20:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6797F20781 for ; Wed, 22 Apr 2020 11:20:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="hU/UImhO" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725787AbgDVLUJ (ORCPT ); Wed, 22 Apr 2020 07:20:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726684AbgDVLUI (ORCPT ); Wed, 22 Apr 2020 07:20:08 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AEFD4C03C1A9 for ; Wed, 22 Apr 2020 04:20:07 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id u127so1907239wmg.1 for ; Wed, 22 Apr 2020 04:20:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MsgQu2s5Ine+vEQU/kp8/4vrgQB3e/69fxJksj4R8LU=; b=hU/UImhOgaBPrYxmlbvrhfuY0DVRcChjEjSIxhLm4KSDwBpk8qaM4842oVYTIqnBNe QqplL8fDemr0t3MjqYeIYaC9NLlmOy+EoSmDsMBQQE4AIDrD9tBsH7uIiw4QmYbyri6q AdzBG2i0JH/3J27IzYano4jVPXhLI9ht28l0yT6T1c7MtTMkQH3+YSddi1y5swXGHVbC bbb5QI7ZduhfYTGWsMjg4bnGhnPAMgS3UMR8XEqbiOOe+Kj3mnuvE1ATxOCDwFAyteMc hgjas7Wg3beHs4dcvcEGqPlBfrLTmyPjcvMG52/HC/TWs6MR8Di9zZStXPFGTigLw6fU /uWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MsgQu2s5Ine+vEQU/kp8/4vrgQB3e/69fxJksj4R8LU=; b=oPPUTXiry7mCI1xT5nhLqxIve5RNgcb+qikO4Daf2wLQZpNOmH+hunJWc8g7Wdt8i5 PcejiFf3wAVVsx71cMVzAyIQxMnOEz4XXwW81ZWv1woXcELYBGQur01Y7ukc//ObuDqN 3gdSDcXvW+2otXW2FuFb1/hcQYsHvgOz81XPYE3gEqj8hIeev4gtIAOhxMPCtt9u/iY/ gGtPzFCIfCcRvgNi/KgbTwggZkqCSX/shFgkNtAAPDRKSmWyeEQaVUsmBa2Rnw2bD5j1 cjzeREJzTi0+3vtEApXPaO2JUAbALLDppQGEAZqmfI0F9eSrIMmDgAZQyljadN8uiu0U /qrg== X-Gm-Message-State: AGi0PuakEBeJJd5zIqYqSWtXY7we5Rznq5kcAEpofcR5qUDf6T0+guAX gMj0Iyf15YWPToWQqm0jN1YH2O7ZkiY= X-Google-Smtp-Source: APiQypJ2TnXV4Sh5/FH1flErjab76R2V2iey4z+plkdp+ISGaPTr4ojnlnXEuOYmsVX02va6RRpcng== X-Received: by 2002:a05:600c:c5:: with SMTP id u5mr10533544wmm.134.1587554406202; Wed, 22 Apr 2020 04:20:06 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:05 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Hans Verkuil , Lyude Paul , Alex Deucher , Lee Jones Subject: [PATCH 4.9 05/21] drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read() Date: Wed, 22 Apr 2020 12:19:41 +0100 Message-Id: <20200422111957.569589-6-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Hans Verkuil [ Upstream commit a4c30a4861c54af78c4eb8b7855524c1a96d9f80 ] When parsing the reply of a DP_REMOTE_DPCD_READ DPCD command the result is wrong due to a missing idx increment. This was never noticed since DP_REMOTE_DPCD_READ is currently not used, but if you enable it, then it is all wrong. Signed-off-by: Hans Verkuil Reviewed-by: Lyude Paul Acked-by: Alex Deucher Link: https://patchwork.freedesktop.org/patch/msgid/e72ddac2-1dc0-100a-d816-9ac98ac009dd@xs4all.nl Signed-off-by: Lee Jones --- drivers/gpu/drm/drm_dp_mst_topology.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 17aedaaf364c1..93f2033b414a2 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -431,6 +431,7 @@ static bool drm_dp_sideband_parse_remote_dpcd_read(struct drm_dp_sideband_msg_rx if (idx > raw->curlen) goto fail_len; repmsg->u.remote_dpcd_read_ack.num_bytes = raw->msg[idx]; + idx++; if (idx > raw->curlen) goto fail_len; From patchwork Wed Apr 22 11:19:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226998 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 53EC5C55185 for ; Wed, 22 Apr 2020 11:20:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2E25D20781 for ; Wed, 22 Apr 2020 11:20:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="T4TLDFut" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726121AbgDVLUL (ORCPT ); Wed, 22 Apr 2020 07:20:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726800AbgDVLUL (ORCPT ); Wed, 22 Apr 2020 07:20:11 -0400 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6C15CC03C1A9 for ; Wed, 22 Apr 2020 04:20:10 -0700 (PDT) Received: by mail-wr1-x443.google.com with SMTP id b11so1927475wrs.6 for ; Wed, 22 Apr 2020 04:20:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8n9PuhMajM7WvWxCjQiwhBj7Uis5bjcy3z0jj02FBf0=; b=T4TLDFutcKcIWxoI/pe9XCT6RI9eNVXxzjof0u6YOv64fwFhpg5B2mkOTmVQEwR1Dl qB8Kg08/GhG9Ba/HlkmejLbm2Rgb1BWfRvBwV5pVP6DCAH9wll6Bl2tv5JWniZBJeB2o vMe83Rd6Gk0qUR+mFgxLKCJR7fcOom9mF/nRwRH6hecTSHDfHOpEe4sXwoFg8rxiHopt u82hnhHf4ZqBL31OvYn76AnAhv1DGIfjJpRtKx8kM0s7Oi81WdFOEmqYiCIJBBAHO8mB jzgBt4tycUjTtG2lZZoG3kjBdNalJ5VgDZnC7xYOCPr9vf7OCCJDrbDfcZSqa5hQZQ0b IhDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8n9PuhMajM7WvWxCjQiwhBj7Uis5bjcy3z0jj02FBf0=; b=BwAb0hw6g+9nxccJPt91Brv3qrgksHUOkjSZCaKzofq6J9OJmGdxPm+bNNSUgguCKy +9zbi3GBDggaP/qrxNKLN9xE1Tvc+/JQzqbJCevFAE5qphrlKuv+tNZbG6OsZLwZ0ORq 0kWMAY4tENxdzl1D7ItAvoJgtWoZO2C+811+XKoCmUVMgvZRXkFxkZR7TPpQrwNHBI4m tem6ABiLRuLnPvBsccOQo9CNk+UPrIWMDhdV3L7sYx361AZJNazezI/k6XYDB6tKo/kN 2ezWM3Uz+om3Tr17zORrHrEplkbUX6iwy3x3P/F7Wbxgjzu3Xw9AIJlu8XPFA/Mj+7hi yT+g== X-Gm-Message-State: AGi0PuZnyVjtykEws85kZdHh4X4QXRhpeNU/GdvbPJZZ0cQVJsJvj263 /7wdk51KNbly6lNQlh1mNum6QqPm4ng= X-Google-Smtp-Source: APiQypIgmtw7cb+RCVR30gnMgjPn31vaEiWhOMVck5/x6U5NWZB3IjrE612fCiSHXWlFXZ6wJv/G0w== X-Received: by 2002:adf:a309:: with SMTP id c9mr27331084wrb.97.1587554408694; Wed, 22 Apr 2020 04:20:08 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:08 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Geert Uytterhoeven , Stephen Boyd , Lee Jones Subject: [PATCH 4.9 07/21] clk: Fix debugfs_create_*() usage Date: Wed, 22 Apr 2020 12:19:43 +0100 Message-Id: <20200422111957.569589-8-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Geert Uytterhoeven [ Upstream commit 4c8326d5ebb0de3191e98980c80ab644026728d0 ] When exposing data access through debugfs, the correct debugfs_create_*() functions must be used, matching the data types. Remove all casts from data pointers passed to debugfs_create_*() functions, as such casts prevent the compiler from flagging bugs. clk_core.rate and .accuracy are "unsigned long", hence casting their addresses to "u32 *" exposed the wrong halves on big-endian 64-bit systems. Fix this by using debugfs_create_ulong() instead. Octal permissions are preferred, as they are easier to read than symbolic permissions. Hence replace "S_IRUGO" by "0444" throughout. Signed-off-by: Geert Uytterhoeven [sboyd@codeaurora.org: Squash the octal change in too] Signed-off-by: Stephen Boyd Signed-off-by: Lee Jones --- drivers/clk/clk.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index af4f2ffc4fc50..b901bea814b6d 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -2145,18 +2145,16 @@ static int clk_debug_create_one(struct clk_core *core, struct dentry *pdentry) core->dentry = d; - d = debugfs_create_u32("clk_rate", S_IRUGO, core->dentry, - (u32 *)&core->rate); + d = debugfs_create_ulong("clk_rate", 0444, core->dentry, &core->rate); if (!d) goto err_out; - d = debugfs_create_u32("clk_accuracy", S_IRUGO, core->dentry, - (u32 *)&core->accuracy); + d = debugfs_create_ulong("clk_accuracy", 0444, core->dentry, + &core->accuracy); if (!d) goto err_out; - d = debugfs_create_u32("clk_phase", S_IRUGO, core->dentry, - (u32 *)&core->phase); + d = debugfs_create_u32("clk_phase", 0444, core->dentry, &core->phase); if (!d) goto err_out; @@ -2165,18 +2163,18 @@ static int clk_debug_create_one(struct clk_core *core, struct dentry *pdentry) if (!d) goto err_out; - d = debugfs_create_u32("clk_prepare_count", S_IRUGO, core->dentry, - (u32 *)&core->prepare_count); + d = debugfs_create_u32("clk_prepare_count", 0444, core->dentry, + &core->prepare_count); if (!d) goto err_out; - d = debugfs_create_u32("clk_enable_count", S_IRUGO, core->dentry, - (u32 *)&core->enable_count); + d = debugfs_create_u32("clk_enable_count", 0444, core->dentry, + &core->enable_count); if (!d) goto err_out; - d = debugfs_create_u32("clk_notifier_count", S_IRUGO, core->dentry, - (u32 *)&core->notifier_count); + d = debugfs_create_u32("clk_notifier_count", 0444, core->dentry, + &core->notifier_count); if (!d) goto err_out; @@ -2270,22 +2268,22 @@ static int __init clk_debug_init(void) if (!rootdir) return -ENOMEM; - d = debugfs_create_file("clk_summary", S_IRUGO, rootdir, &all_lists, + d = debugfs_create_file("clk_summary", 0444, rootdir, &all_lists, &clk_summary_fops); if (!d) return -ENOMEM; - d = debugfs_create_file("clk_dump", S_IRUGO, rootdir, &all_lists, + d = debugfs_create_file("clk_dump", 0444, rootdir, &all_lists, &clk_dump_fops); if (!d) return -ENOMEM; - d = debugfs_create_file("clk_orphan_summary", S_IRUGO, rootdir, + d = debugfs_create_file("clk_orphan_summary", 0444, rootdir, &orphan_list, &clk_summary_fops); if (!d) return -ENOMEM; - d = debugfs_create_file("clk_orphan_dump", S_IRUGO, rootdir, + d = debugfs_create_file("clk_orphan_dump", 0444, rootdir, &orphan_list, &clk_dump_fops); if (!d) return -ENOMEM; From patchwork Wed Apr 22 11:19:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226997 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 551EBC55185 for ; Wed, 22 Apr 2020 11:20:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3066F20781 for ; Wed, 22 Apr 2020 11:20:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="yAoCjrNU" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726803AbgDVLUQ (ORCPT ); Wed, 22 Apr 2020 07:20:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726800AbgDVLUQ (ORCPT ); Wed, 22 Apr 2020 07:20:16 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0ECE5C03C1A8 for ; Wed, 22 Apr 2020 04:20:16 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id u16so1889962wmc.5 for ; Wed, 22 Apr 2020 04:20:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BeyLphkFLnP4CTEflF/utnlR8G5qa5q59+49c7r8kS0=; b=yAoCjrNUVpZqLGlh1qDjoeQvlMg6i+saYhQkal75rY0tR3YeMU1nCzfqQtmwCklhTA sM812Kt9nL6FbBXKIsUUSonNsuwv0e+M9bOiZTQgDtC67Fpt1fJxTEcuqUPSHkewoWmN 4mwM1v/0m/fvonX6c8Thc1UAk/1Lx16IBvDMPpx7EGt8RSzC+Hr3cHiEY0xVPz67Ibq7 a+Dfba7rGdhKjUEAIvs0B+fQ6dGENfove+eqqc9iZAUB0HLmXxCqkvQ37yGfHKVtkSR1 lIOtuW79AWAfn8Sl0jlTYAzvhweTGOEUGxVmd0NQGwj21WLR9dfoSQJpgU7oWfUvE06T FjiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BeyLphkFLnP4CTEflF/utnlR8G5qa5q59+49c7r8kS0=; b=TH5qX1OnrQnV8aP1FOugF8ChLwpiwbyhq0LW3czDo2BLraDn+Dm0l1KIEZ9d91OBsa zIDFb1LqWrPPgMFHXyJ0A0Ll1lTUCiwhN+3AZ5vukTYEt2pRx3eEAglBm0dMihp6vyp2 Gzpm2/mBrNKZPKCscFuz5FxN/6lG/EuA2U9Wtcdooq234Og0jquxgqe/vUPwL02W/zEZ 5gG00ZxHly84LsYJgAPw3hokLVLsawApycSZ3uhDhlBBd29ZQwYbFHVRtGwJQqHm3ck9 CoQcVwRJwlodY2G4iFiS/R4pWil5FnhFMmm4QeWtmhYjeiVe+LIVZnLVQn2zNUCl7klx XfWQ== X-Gm-Message-State: AGi0PuaZbzq0UHTVv1qOotLjT4ZduSZ3k2cNOvNSA81UXFvkmNztMEBz 7SUxeo2cS86PM0fTSR1cANXYamPwg+M= X-Google-Smtp-Source: APiQypLsTlyy9I8biVOLbXcSo9JQkookyBlOa7MFoMVVytoawpw4P7xVv8swlUTpOR6qFCse6kRabg== X-Received: by 2002:a1c:7c13:: with SMTP id x19mr9874031wmc.124.1587554414468; Wed, 22 Apr 2020 04:20:14 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:13 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Will Deacon , Laura Abbott , Lee Jones Subject: [PATCH 4.9 09/21] arm64: traps: Don't print stack or raw PC/LR values in backtraces Date: Wed, 22 Apr 2020 12:19:45 +0100 Message-Id: <20200422111957.569589-10-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Will Deacon [ Upstream commit a25ffd3a6302a67814280274d8f1aa4ae2ea4b59 ] Printing raw pointer values in backtraces has potential security implications and are of questionable value anyway. This patch follows x86's lead and removes the "Exception stack:" dump from kernel backtraces, as well as converting PC/LR values to symbols such as "sysrq_handle_crash+0x20/0x30". Tested-by: Laura Abbott Signed-off-by: Will Deacon Signed-off-by: Lee Jones --- arch/arm64/kernel/process.c | 8 ++-- arch/arm64/kernel/traps.c | 74 ++----------------------------------- 2 files changed, 6 insertions(+), 76 deletions(-) diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index e917d119490ce..6b073a31eec1c 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -182,11 +182,9 @@ void __show_regs(struct pt_regs *regs) } show_regs_print_info(KERN_DEFAULT); - print_symbol("PC is at %s\n", instruction_pointer(regs)); - print_symbol("LR is at %s\n", lr); - printk("pc : [<%016llx>] lr : [<%016llx>] pstate: %08llx\n", - regs->pc, lr, regs->pstate); - printk("sp : %016llx\n", sp); + print_symbol("pc : %s\n", regs->pc); + print_symbol("lr : %s\n", lr); + printk("sp : %016llx pstate : %08llx\n", sp, regs->pstate); i = top_reg; diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index 5962badb33462..ac73d8d8cd81d 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -52,55 +52,9 @@ static const char *handler[]= { int show_unhandled_signals = 0; -/* - * Dump out the contents of some kernel memory nicely... - */ -static void dump_mem(const char *lvl, const char *str, unsigned long bottom, - unsigned long top) -{ - unsigned long first; - mm_segment_t fs; - int i; - - /* - * We need to switch to kernel mode so that we can use __get_user - * to safely read from kernel space. - */ - fs = get_fs(); - set_fs(KERNEL_DS); - - printk("%s%s(0x%016lx to 0x%016lx)\n", lvl, str, bottom, top); - - for (first = bottom & ~31; first < top; first += 32) { - unsigned long p; - char str[sizeof(" 12345678") * 8 + 1]; - - memset(str, ' ', sizeof(str)); - str[sizeof(str) - 1] = '\0'; - - for (p = first, i = 0; i < (32 / 8) - && p < top; i++, p += 8) { - if (p >= bottom && p < top) { - unsigned long val; - - if (__get_user(val, (unsigned long *)p) == 0) - sprintf(str + i * 17, " %016lx", val); - else - sprintf(str + i * 17, " ????????????????"); - } - } - printk("%s%04lx:%s\n", lvl, first & 0xffff, str); - } - - set_fs(fs); -} - static void dump_backtrace_entry(unsigned long where) { - /* - * Note that 'where' can have a physical address, but it's not handled. - */ - print_ip_sym(where); + printk(" %pS\n", (void *)where); } static void __dump_instr(const char *lvl, struct pt_regs *regs) @@ -174,10 +128,8 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk) skip = !!regs; printk("Call trace:\n"); - while (1) { + do { unsigned long where = frame.pc; - unsigned long stack; - int ret; /* skip until specified stack frame */ if (!skip) { @@ -193,25 +145,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk) */ dump_backtrace_entry(regs->pc); } - ret = unwind_frame(tsk, &frame); - if (ret < 0) - break; - stack = frame.sp; - if (in_exception_text(where)) { - /* - * If we switched to the irq_stack before calling this - * exception handler, then the pt_regs will be on the - * task stack. The easiest way to tell is if the large - * pt_regs would overlap with the end of the irq_stack. - */ - if (stack < irq_stack_ptr && - (stack + sizeof(struct pt_regs)) > irq_stack_ptr) - stack = IRQ_STACK_TO_TASK_STACK(irq_stack_ptr); - - dump_mem("", "Exception stack", stack, - stack + sizeof(struct pt_regs)); - } - } + } while (!unwind_frame(tsk, &frame)); } void show_stack(struct task_struct *tsk, unsigned long *sp) @@ -248,8 +182,6 @@ static int __die(const char *str, int err, struct thread_info *thread, TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), thread + 1); if (!user_mode(regs)) { - dump_mem(KERN_EMERG, "Stack: ", regs->sp, - THREAD_SIZE + (unsigned long)task_stack_page(tsk)); dump_backtrace(regs, tsk); dump_instr(KERN_EMERG, regs); } From patchwork Wed Apr 22 11:19:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226996 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 90940C55189 for ; Wed, 22 Apr 2020 11:20:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6A76F2098B for ; Wed, 22 Apr 2020 11:20:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="IjRxUlfx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726800AbgDVLUT (ORCPT ); Wed, 22 Apr 2020 07:20:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44346 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726809AbgDVLUS (ORCPT ); Wed, 22 Apr 2020 07:20:18 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 18B43C03C1A8 for ; Wed, 22 Apr 2020 04:20:17 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id e26so1862694wmk.5 for ; Wed, 22 Apr 2020 04:20:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TV3arK5WUb34bvJty3z/ZBkIfATI4h4LTn5/l2uId24=; b=IjRxUlfxT0VzohBNY6XWGijBBX7vY0HNfEMJ1Xc/Cw15G+o/ZoIS+s2m5xSSypl9PK d9sTsdv1cOLsn72R/yZvHPh/67rxQdU7mGCNpC0LdVyMEgCUtxBpbEbxUutqoSZtS3BN 9YwJtxjQ+mPQ/+zNQsLNBa1Irc9mdrSYQYa+iCf2Gd556KrcuZ91n9/GLJ9Y7zMOGSE7 zXTH9sF9PWkNXLs9ELaF29BOhKJn7sXyyPK0POXTfBPTIhEcdWUPA8TWg/gGFfol767T ZLdYkSBSE6v8hzPuLCvTXQII97cdAnalCVDhKemsQljcW2mLfibJFGCQgJORpbWKWRDk wBjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TV3arK5WUb34bvJty3z/ZBkIfATI4h4LTn5/l2uId24=; b=D7pGwO53+x52mcoCywVcG9FE6OkBS8lHjSlK4fK9SEfZk6jX7pW9n9AKY/kclC//+d qUYqjgb+sodhnfGTHUmd8Jx3LEV6R7H7Og3wdTkzn3layrshNC874UTb1wyRNSE9YISB u3M40bsCBAlf4x8cT6eiYWGxyQ/Ots8ajF4oQ+92pcWOVeQZOK9ecG4fStwFOeni70u+ h176ait99OAt30eJHWhNvjj9+VkMoxZ3RKZn2ecXWW5BJjGx3tg7Gf/UPwg6vpjlzFl8 7z5j78dRzIqbiwadxo4ZN5U38W9otS2bL/W3q1AjNQB/QScwNpl+uJ2dGYOrC/en5Uzq 18+g== X-Gm-Message-State: AGi0PuYVRzayk2ihgD9hVbW4x71BFgIgHV16gI3RtoSiCXflbwHDcKzh tjSWiowBsAseC2UYzTDK+ZdNQsuUZX8= X-Google-Smtp-Source: APiQypLcW8igEZMu4FP103SmW4rM9nmFPQ5INpRPyNXcdUecGGhfZXJqSKw5uWnlWWf+PuXisYq3hw== X-Received: by 2002:a7b:cb88:: with SMTP id m8mr10087464wmi.103.1587554415547; Wed, 22 Apr 2020 04:20:15 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:14 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Subhash Jadavani , Avri Altman , Bean Huo , Can Guo , "Martin K . Petersen" , Lee Jones Subject: [PATCH 4.9 10/21] scsi: ufs: Fix error handing during hibern8 enter Date: Wed, 22 Apr 2020 12:19:46 +0100 Message-Id: <20200422111957.569589-11-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Subhash Jadavani [ Upstream commit 6d303e4b19d694cdbebf76bcdb51ada664ee953d ] During clock gating (ufshcd_gate_work()), we first put the link hibern8 by calling ufshcd_uic_hibern8_enter() and if ufshcd_uic_hibern8_enter() returns success (0) then we gate all the clocks. Now let’s zoom in to what ufshcd_uic_hibern8_enter() does internally: It calls __ufshcd_uic_hibern8_enter() and if failure is encountered, link recovery shall put the link back to the highest HS gear and returns success (0) to ufshcd_uic_hibern8_enter() which is the issue as link is still in active state due to recovery! Now ufshcd_uic_hibern8_enter() returns success to ufshcd_gate_work() and hence it goes ahead with gating the UFS clock while link is still in active state hence I believe controller would raise UIC error interrupts. But when we service the interrupt, clocks might have already been disabled! This change fixes for this by returning failure from __ufshcd_uic_hibern8_enter() if recovery succeeds as link is still not in hibern8, upon receiving the error ufshcd_hibern8_enter() would initiate retry to put the link state back into hibern8. Link: https://lore.kernel.org/r/1573798172-20534-8-git-send-email-cang@codeaurora.org Reviewed-by: Avri Altman Reviewed-by: Bean Huo Signed-off-by: Subhash Jadavani Signed-off-by: Can Guo Signed-off-by: Martin K. Petersen Signed-off-by: Lee Jones --- drivers/scsi/ufs/ufshcd.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 394df57894e6b..0b268f0151c67 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -2804,15 +2804,24 @@ static int __ufshcd_uic_hibern8_enter(struct ufs_hba *hba) ret = ufshcd_uic_pwr_ctrl(hba, &uic_cmd); if (ret) { + int err; + dev_err(hba->dev, "%s: hibern8 enter failed. ret = %d\n", __func__, ret); /* - * If link recovery fails then return error so that caller - * don't retry the hibern8 enter again. + * If link recovery fails then return error code returned from + * ufshcd_link_recovery(). + * If link recovery succeeds then return -EAGAIN to attempt + * hibern8 enter retry again. */ - if (ufshcd_link_recovery(hba)) - ret = -ENOLINK; + err = ufshcd_link_recovery(hba); + if (err) { + dev_err(hba->dev, "%s: link recovery failed", __func__); + ret = err; + } else { + ret = -EAGAIN; + } } return ret; @@ -2824,7 +2833,7 @@ static int ufshcd_uic_hibern8_enter(struct ufs_hba *hba) for (retries = UIC_HIBERN8_ENTER_RETRIES; retries > 0; retries--) { ret = __ufshcd_uic_hibern8_enter(hba); - if (!ret || ret == -ENOLINK) + if (!ret) goto out; } out: From patchwork Wed Apr 22 11:19:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226995 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AEF9CC5518A for ; Wed, 22 Apr 2020 11:20:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8EE3D20781 for ; Wed, 22 Apr 2020 11:20:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ghQniqQu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726813AbgDVLUV (ORCPT ); Wed, 22 Apr 2020 07:20:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726812AbgDVLUU (ORCPT ); Wed, 22 Apr 2020 07:20:20 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6DC25C03C1A9 for ; Wed, 22 Apr 2020 04:20:20 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id t63so1865446wmt.3 for ; Wed, 22 Apr 2020 04:20:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=A8S99CHf5RS+VxaoEq44CGEyVEy00UWcqSXyWTfMRic=; b=ghQniqQuPXT66oglCzo+AqpUidzsJ61bm3SwRAxT2b6c7dgbsTDiovjTz8BCnrstE0 owBg0mlY38iJBrsxhZB++j3V/YCVa8HwQXXoIT2PerUm1Cn8sJ+fE+HxDJrS88uCbXdx ez9FdU/JjJVo/6Y2EO3I+q9IKTsUONuXTHngMSOa6vcpGFcbmR2zZK5rMuBoLdsu26FW iX+mwCVgVyujpL78juu9w9afHJcTRxEnC7Y2tPiSq5JG8Qk/Jt+Q33Dv6AyC4XvvJ7e5 p+NUlmv+xr1YNQYNR4eBFU5/QDfgNZ2OgtpDmdp8PvTQQkn384E5GXShPO46dYEnBO/X zOeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=A8S99CHf5RS+VxaoEq44CGEyVEy00UWcqSXyWTfMRic=; b=VAIZhv70Tj5Ylv0+G+Ni64HVgbF+iFQ1RIe4q2ijlBF0dumEclw7qW0FtT+dwHH5Im sp0pKvbTwdwf7kNmp6OkjcjM6Hm1+RiHaVpwnWAOXkgXGAez0AEMOLEBP7NNDss5SCuz u/RS/ckE3ydE6cVmWLtSeKJ9QWv+3cbLMxsEbCHgVcwaSu7//Ewm9hs7rg59VT5B7LEN 54DzJdeALfdUZfuoUNsx/QqcD2LsLTq8iPjB2kOZJRB2LUTw61QC1aBsai9NGvJ0M3Cp l6F07j76vNeEQYUovJHz0aUVC6Ugqcs/BLmyi+SNSGE+YCH+UUCnPf+Ff1rEh9FbmSKv ASAA== X-Gm-Message-State: AGi0Pub4juvF7mT/c4kfNIuLOJ9sDGlAxJiZrDghdSm7Lh0F8GcsgUYg WC6ICLQrdwczkOcdmAeZYrRZA8/hxtg= X-Google-Smtp-Source: APiQypJ6SOz70BKGpfudns2Kpkskzj6eMebRy8evi0he5NDN1VDfAYZRn3V90pwFom0tOXVUWIty9Q== X-Received: by 2002:a05:600c:20f:: with SMTP id 15mr10337628wmi.71.1587554418967; Wed, 22 Apr 2020 04:20:18 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:18 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Venkat Gopalakrishnan , Asutosh Das , Subhash Jadavani , "Martin K . Petersen" , Lee Jones Subject: [PATCH 4.9 13/21] scsi: ufs: make sure all interrupts are processed Date: Wed, 22 Apr 2020 12:19:49 +0100 Message-Id: <20200422111957.569589-14-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Venkat Gopalakrishnan [ Upstream commit 7f6ba4f12e6cbfdefbb95cfd8fc67ece6c15d799 ] As multiple requests are submitted to the ufs host controller in parallel there could be instances where the command completion interrupt arrives later for a request that is already processed earlier as the corresponding doorbell was cleared when handling the previous interrupt. Read the interrupt status in a loop after processing the received interrupt to catch such interrupts and handle it. Signed-off-by: Venkat Gopalakrishnan Signed-off-by: Asutosh Das Reviewed-by: Subhash Jadavani Signed-off-by: Martin K. Petersen Signed-off-by: Lee Jones --- drivers/scsi/ufs/ufshcd.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 0b268f0151c67..84ab53d6d1daf 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -4401,19 +4401,30 @@ static irqreturn_t ufshcd_intr(int irq, void *__hba) u32 intr_status, enabled_intr_status; irqreturn_t retval = IRQ_NONE; struct ufs_hba *hba = __hba; + int retries = hba->nutrs; spin_lock(hba->host->host_lock); intr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS); - enabled_intr_status = - intr_status & ufshcd_readl(hba, REG_INTERRUPT_ENABLE); - if (intr_status) - ufshcd_writel(hba, intr_status, REG_INTERRUPT_STATUS); + /* + * There could be max of hba->nutrs reqs in flight and in worst case + * if the reqs get finished 1 by 1 after the interrupt status is + * read, make sure we handle them by checking the interrupt status + * again in a loop until we process all of the reqs before returning. + */ + do { + enabled_intr_status = + intr_status & ufshcd_readl(hba, REG_INTERRUPT_ENABLE); + if (intr_status) + ufshcd_writel(hba, intr_status, REG_INTERRUPT_STATUS); + if (enabled_intr_status) { + ufshcd_sl_intr(hba, enabled_intr_status); + retval = IRQ_HANDLED; + } + + intr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS); + } while (intr_status && --retries); - if (enabled_intr_status) { - ufshcd_sl_intr(hba, enabled_intr_status); - retval = IRQ_HANDLED; - } spin_unlock(hba->host->host_lock); return retval; } From patchwork Wed Apr 22 11:19:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226994 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5616C55189 for ; Wed, 22 Apr 2020 11:20:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7E6BE20781 for ; Wed, 22 Apr 2020 11:20:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="K5lt7r7P" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726830AbgDVLUZ (ORCPT ); Wed, 22 Apr 2020 07:20:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726829AbgDVLUY (ORCPT ); Wed, 22 Apr 2020 07:20:24 -0400 Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8F39C03C1A8 for ; Wed, 22 Apr 2020 04:20:23 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id x18so1938523wrq.2 for ; Wed, 22 Apr 2020 04:20:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7n6+1RB+Povmh3mXFIHzZpp6IxvkbnS6OC8yNx3V8CE=; b=K5lt7r7PSYgs20uvN/4F/7K1KLqqtHmmbrd0JU+CKoxrYuqCuBZHe+YmLr77TPVOKg LmeoXkf2EmeQ/IyYS2t3ijH2o0K8lo6/2fSRZvkn87pslxcC5sMiOzUl6A0y/EeKtXbj NBlIB9n5LKHxfugh8IpnrT4dx9lVrEPNEeKMfaF9Eo4RnT9X/qivj0cRFCyL8wvcQhDu obVO23wUUIsiZlN1XdAv+CvtobItaKPUV5/kIUHxXsXV5v7XmsW3neSzOFMP0AI6+vSI rBFhjWuDacwgej2Q+zyrw2j6IaiAMM1RE/CquZTlth1v6P0Bx7R6L2Mt/xh8eP6l8xcL s30w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7n6+1RB+Povmh3mXFIHzZpp6IxvkbnS6OC8yNx3V8CE=; b=Bj6chrpY0xVmR9EVWa/cO0tVTvPHihVKD72g5WNdc8no8haRxBBBpNQgjeErfiO6do HQmhvB0YjfDOFtbHyPWXLeu///l/4SzYS5Gc9l3gLIZsmvUZvrpK0gthL0in2fKtIN2k Yj04gFA5b+WZ4ICH9+zyb8fpwIUW1ixF8rkQARMNlC7Tq/EoUtjaA30TwyL8Lx997rjH fdUQGrUf9QN4Lh5pfKtmYtjoWcoXU47XjXhOs6ScIYd5S6iY+7Dk7Rbwdpu9EGIEJtDq 0ZQPc1hLUuAhtBJN57LW/wD2Ie66gww8EVaUP8qJmiNf5CYqTNurvtGya5/t9SDu+v2V MlvQ== X-Gm-Message-State: AGi0PuZD5uWWXSpSTXDA1E+FanWpG3mxFUbpKBxh6muWYbsg7uhMruFe m+FLQ58jfBsrrUt4jX0PR3HdRoSrIMs= X-Google-Smtp-Source: APiQypKL5KJt/NGrZRlA0V/fuckZcQYI+qkRsERpxRUmAERpc8/XjY/firuDiN63AFmFH6QbW+JLEA== X-Received: by 2002:a5d:4d8f:: with SMTP id b15mr29389650wru.107.1587554422182; Wed, 22 Apr 2020 04:20:22 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:21 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Dedy Lansky , Maya Erez , Kalle Valo , Lee Jones Subject: [PATCH 4.9 15/21] wil6210: rate limit wil_rx_refill error Date: Wed, 22 Apr 2020 12:19:51 +0100 Message-Id: <20200422111957.569589-16-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Dedy Lansky [ Upstream commit 3d6b72729cc2933906de8d2c602ae05e920b2122 ] wil_err inside wil_rx_refill can flood the log buffer. Replace it with wil_err_ratelimited. Signed-off-by: Dedy Lansky Signed-off-by: Maya Erez Signed-off-by: Kalle Valo Signed-off-by: Lee Jones --- drivers/net/wireless/ath/wil6210/txrx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c index 4c38520d4dd2d..72e8fea05e5e1 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.c +++ b/drivers/net/wireless/ath/wil6210/txrx.c @@ -546,8 +546,8 @@ static int wil_rx_refill(struct wil6210_priv *wil, int count) v->swtail = next_tail) { rc = wil_vring_alloc_skb(wil, v, v->swtail, headroom); if (unlikely(rc)) { - wil_err(wil, "Error %d in wil_rx_refill[%d]\n", - rc, v->swtail); + wil_err_ratelimited(wil, "Error %d in rx refill[%d]\n", + rc, v->swtail); break; } } From patchwork Wed Apr 22 11:19:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226993 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0696DC55189 for ; Wed, 22 Apr 2020 11:20:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D3B5620781 for ; Wed, 22 Apr 2020 11:20:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="SNCDgQQS" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726809AbgDVLU1 (ORCPT ); Wed, 22 Apr 2020 07:20:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726823AbgDVLU1 (ORCPT ); Wed, 22 Apr 2020 07:20:27 -0400 Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9DCDCC03C1A8 for ; Wed, 22 Apr 2020 04:20:26 -0700 (PDT) Received: by mail-wm1-x341.google.com with SMTP id z6so1906346wml.2 for ; Wed, 22 Apr 2020 04:20:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=s6FBZN4nRWiUrKVfoyflfqov+eXkWkgr9+0BkVt9Xfw=; b=SNCDgQQSWnhbVmxsp2SUWQDXfWmKAKUCqYlH37OSG2GjCddZbx6pjZHJoR/zKwiXl3 VXD1trZnXN5R6s/GBw2utMT16tz4hDBo42RkeoSlmKOLaURzkZDhrDkyE1KrDGZE61TE boV7LNASYDMOc9qzEeqpeZqKS2gNpTVkZu9avEGRaNBYfirFGMKPwguetTebXGFtz6oq CCFnaIFipBnJR4y6VjciTo6wi83Hx1g5OgZ+w8fMiQ/ObvVTohcrq7KL4aQhZtGDX4xU ONHYe2+JwGObuRXLea4Qx+IhGNjBPqzTN2YWYHW14qPpgnH+31Czse2oy3aF9EzSufbI jvXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=s6FBZN4nRWiUrKVfoyflfqov+eXkWkgr9+0BkVt9Xfw=; b=DCFNbovNbpz9MTdc0kolvUp1pNtZ2WDsuM+H4o3zL4bwnKyULgaSVyoLZthYSkxJBL pwkbtVpuMbb2qe6N/LaUnkrTpLQpZLDq/RXF6B9ftngzBcaBwYG3rxy441R8NMxQlOXA Q1jUfryqd4b/1rp7pYe4Npgu8lW6OEAJk5936qstiphPcR7oDF5M1JMpI2kGolu9RYm1 XwpFWLI7bD4ZPcagoB5hVMuhLQCdN328HhvOCFkP5+WG8mobF/cCnq8U5Kl53OtO4BnC Fh9FFheIhErB/eRnF+knmFPCVEAXFmmYLt3QFqVKyXfnbobrgEgMNNIqFnKGrg8GDgeQ Q1dg== X-Gm-Message-State: AGi0PuYUuGz8zuQqH70a0pDzrZEbmCpfnMqjLU+4HCNkjk2/n9hJelYZ 2SsWrhEZqzKFxzUOtk2uaD2aF6NzQI4= X-Google-Smtp-Source: APiQypJiSNueVF1MFbf9oF7n6fiH7FXvVDeBnyk0r3WiMSTOjnA198jAg/NPHqXAwKi26uiQgCHqUQ== X-Received: by 2002:a1c:c2d4:: with SMTP id s203mr10752049wmf.128.1587554424942; Wed, 22 Apr 2020 04:20:24 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:23 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Lior David , Maya Erez , Kalle Valo , Lee Jones Subject: [PATCH 4.9 17/21] wil6210: fix length check in __wmi_send Date: Wed, 22 Apr 2020 12:19:53 +0100 Message-Id: <20200422111957.569589-18-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Lior David [ Upstream commit 26a6d5274865532502c682ff378ac8ebe2886238 ] The current length check: sizeof(cmd) + len > r->entry_size will allow very large values of len (> U16_MAX - sizeof(cmd)) and can cause a buffer overflow. Fix the check to cover this case. In addition, ensure the mailbox entry_size is not too small, since this can also bypass the above check. Signed-off-by: Lior David Signed-off-by: Maya Erez Signed-off-by: Kalle Valo Signed-off-by: Lee Jones --- drivers/net/wireless/ath/wil6210/interrupt.c | 22 +++++++++++++++++++- drivers/net/wireless/ath/wil6210/wmi.c | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/wil6210/interrupt.c b/drivers/net/wireless/ath/wil6210/interrupt.c index 64046e0bd0a22..a37533cffc7ca 100644 --- a/drivers/net/wireless/ath/wil6210/interrupt.c +++ b/drivers/net/wireless/ath/wil6210/interrupt.c @@ -356,6 +356,25 @@ static void wil_cache_mbox_regs(struct wil6210_priv *wil) wil_mbox_ring_le2cpus(&wil->mbox_ctl.tx); } +static bool wil_validate_mbox_regs(struct wil6210_priv *wil) +{ + size_t min_size = sizeof(struct wil6210_mbox_hdr) + + sizeof(struct wmi_cmd_hdr); + + if (wil->mbox_ctl.rx.entry_size < min_size) { + wil_err(wil, "rx mbox entry too small (%d)\n", + wil->mbox_ctl.rx.entry_size); + return false; + } + if (wil->mbox_ctl.tx.entry_size < min_size) { + wil_err(wil, "tx mbox entry too small (%d)\n", + wil->mbox_ctl.tx.entry_size); + return false; + } + + return true; +} + static irqreturn_t wil6210_irq_misc(int irq, void *cookie) { struct wil6210_priv *wil = cookie; @@ -391,7 +410,8 @@ static irqreturn_t wil6210_irq_misc(int irq, void *cookie) if (isr & ISR_MISC_FW_READY) { wil_dbg_irq(wil, "IRQ: FW ready\n"); wil_cache_mbox_regs(wil); - set_bit(wil_status_mbox_ready, wil->status); + if (wil_validate_mbox_regs(wil)) + set_bit(wil_status_mbox_ready, wil->status); /** * Actual FW ready indicated by the * WMI_FW_READY_EVENTID diff --git a/drivers/net/wireless/ath/wil6210/wmi.c b/drivers/net/wireless/ath/wil6210/wmi.c index 61419d1b45435..3f6ac1ca0e575 100644 --- a/drivers/net/wireless/ath/wil6210/wmi.c +++ b/drivers/net/wireless/ath/wil6210/wmi.c @@ -209,7 +209,7 @@ static int __wmi_send(struct wil6210_priv *wil, u16 cmdid, void *buf, u16 len) uint retry; int rc = 0; - if (sizeof(cmd) + len > r->entry_size) { + if (len > r->entry_size - sizeof(cmd)) { wil_err(wil, "WMI size too large: %d bytes, max is %d\n", (int)(sizeof(cmd) + len), r->entry_size); return -ERANGE; From patchwork Wed Apr 22 11:19:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226992 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8C00C55189 for ; Wed, 22 Apr 2020 11:20:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9862F20787 for ; Wed, 22 Apr 2020 11:20:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="tDv6eQ0f" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726829AbgDVLUb (ORCPT ); Wed, 22 Apr 2020 07:20:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44398 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726732AbgDVLUa (ORCPT ); Wed, 22 Apr 2020 07:20:30 -0400 Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D66AC03C1A8 for ; Wed, 22 Apr 2020 04:20:30 -0700 (PDT) Received: by mail-wm1-x343.google.com with SMTP id g12so1901016wmh.3 for ; Wed, 22 Apr 2020 04:20:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+fghok1gB+76TrHDpTqaBXzeyc4G/qE0r24JbvN7snI=; b=tDv6eQ0fHI/FQGeqqz0RpVlVnXWDecIRaiirD6+U51tERPNBcqy8Xn/KgTff1LVI2+ JG1Rn1RwW6Q18Ncq1NEPWczTGjK17ui9dM8wbJ0eaww7oiFWy6JlNiu8pNWWVPQNO+4F cwoBLj7/2y3SAL0Hrl3Yti9bwW58Pu7xTTIgFvZGgsubUR4+CXy1ZpxnHQF4Yqw9CO1c 4E/NXlcXwRQ+CjiaqClRJE9mCr9REppMQpdCjptVgP8x2nHDN/wiUn+B+cVWdkYa4d1x lDBKnmYBdYMHNl5MOf+9fAVpJYIJ0V4pZTAnTK52o/NTt/bkk+79hZTDcNOgt1K7IF8t HD2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+fghok1gB+76TrHDpTqaBXzeyc4G/qE0r24JbvN7snI=; b=H4RFb76UZImwEnChIaHUH2FGDHQ4PHuMhY8auCbPm3egdmSrl0Q9EWgqSeDCDTwve0 7JIpnlwMsyxrik4ZEGp+OXuUKZUtSmJ1bjX1+w6jJjfy759IqkXLoXSCMn06YeWnVA6t s4/ZLmKVEUUwgO7YGXVV9XIL5M/WefQnsHUzE35/wsFCXM32x3Ke55jYpJnE873ct4Hh dkaqISkIdRwnXtoZglQiVuElggN3agUcoQP97V2+h6G43A8cPB2IxLVbqITIp2eXb805 vZbiNIxRydvNsRzJHsw323cOrAgpXt/Ouz/ZgkiWiukR7nbvoXtRd/rWB0kInlhuS/tV GFUA== X-Gm-Message-State: AGi0PuajhvK4g73PWnHISbljKZ40csqXUkQRvjvBbN0dMyLWKcSeWKiO D2rLdiP1zguVK/sA6XHMKlUveFeylfM= X-Google-Smtp-Source: APiQypLBvTruPICr9W7IPRofF+TB73mh91zn1Kf8vBZKhctoqxtEdLntsOwvmWG3gBKHon92KlZ2NQ== X-Received: by 2002:a1c:9816:: with SMTP id a22mr9687239wme.125.1587554428973; Wed, 22 Apr 2020 04:20:28 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:28 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Rob Herring , Nicolas Pitre , Frank Rowand , Grant Likely , Lee Jones Subject: [PATCH 4.9 19/21] of: fix missing kobject init for !SYSFS && OF_DYNAMIC config Date: Wed, 22 Apr 2020 12:19:55 +0100 Message-Id: <20200422111957.569589-20-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Rob Herring [ Upstream commit bd82bbf38cbe27f2c65660da801900d71bcc5cc8 ] The ref counting is broken for OF_DYNAMIC when sysfs is disabled because the kobject initialization is skipped. Only the properties add/remove/update should be skipped for !SYSFS config. Tested-by: Nicolas Pitre Reviewed-by: Frank Rowand Acked-by: Grant Likely Signed-off-by: Rob Herring Signed-off-by: Lee Jones --- drivers/of/base.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c index c66cdc4307fd7..af80e3d34eda7 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -170,9 +170,6 @@ int __of_attach_node_sysfs(struct device_node *np) struct property *pp; int rc; - if (!IS_ENABLED(CONFIG_SYSFS)) - return 0; - if (!of_kset) return 0; From patchwork Wed Apr 22 11:19:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 226991 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8EE25C55189 for ; Wed, 22 Apr 2020 11:20:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6EC5620781 for ; Wed, 22 Apr 2020 11:20:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="TsWHUHPI" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726732AbgDVLUe (ORCPT ); Wed, 22 Apr 2020 07:20:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44408 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726812AbgDVLUd (ORCPT ); Wed, 22 Apr 2020 07:20:33 -0400 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EEBEAC03C1A9 for ; Wed, 22 Apr 2020 04:20:32 -0700 (PDT) Received: by mail-wr1-x441.google.com with SMTP id x18so1939044wrq.2 for ; Wed, 22 Apr 2020 04:20:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tivNM/PEWJwAHGJj+MV6vEaMnomGFhEGX1VywED1rVs=; b=TsWHUHPIAAGKQUxOls/HGDOWRvbuRNxazFNW/ZKnhdIsqn4doHdp41ID/nO/jR0OqI LMHSfSGeGRglRnxzWWFWd1m2o6w6nrldccAOMT4wrMIWAU16r4FjaJjecadzkrTKC7dc kq/yXhEKPGpICzR78J1l8C5Nn1vIVd5iQfCNbnjTffLOIJjnPZJkKWiWaL7hiYY1XRHf LzUP91/lU3gyMW/MJ+LEzJ3IoF1Ie+OEKhjtnePIYis9/5g4g8nnsl9iTC89OZ5VwHgg SKtmeW+KdWVZzt5JQD3SMH465En7Ts5T+AMx1Ru9mNi2dC2IcTRxeEg4eJekKlAUiiZD n01A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tivNM/PEWJwAHGJj+MV6vEaMnomGFhEGX1VywED1rVs=; b=K7yBtyoOpUt9szps259gJiaPak4YPE47C+78tr3JqijZafgNT/p4Lfd9of6wlLGhit gmC/ouw+Wipd4kOcljCOe9JmlYgWCX8/fobThutX0gKK6kA7D4jQxvof1HfHnI/5MW1A LKab0q6MRmYlncMKJgEuvfE7wu/2+eWNsd51S6Dt/DKul6iBbtIQzolABM6ysd6C8cXp l6p5cQq1pHWG6s/4s9kOFAJHaY9YRGTlVzg5zDRIbNEfdvsFdn0s2eAdDbUuJSxSxpFF BdctiHxNk3yrQZG5ix/oTAo/590ITQdiZHHSorNjuEG9dH2ncldEIgTLqzLc5W/AKm5/ sTTw== X-Gm-Message-State: AGi0PuadQ/T7eKWL7NKYBirrI0/yseW72aQMhwX+ncuokh1TctOMw3hS vWbViajxpjDa3gzPrce432GGDwi5Xf8= X-Google-Smtp-Source: APiQypKl+dGjLDF8REV4SA0gv576SkBB0rT5/7FN96os/kXVXoZV2k/giCAOsAXm43yjY9PBYisCRA== X-Received: by 2002:adf:a74b:: with SMTP id e11mr120257wrd.99.1587554431438; Wed, 22 Apr 2020 04:20:31 -0700 (PDT) Received: from localhost.localdomain ([2.31.163.63]) by smtp.gmail.com with ESMTPSA id n6sm8247255wrs.81.2020.04.22.04.20.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2020 04:20:30 -0700 (PDT) From: Lee Jones To: stable@vger.kernel.org Cc: Roger Quadros , Felipe Balbi , Lee Jones Subject: [PATCH 4.9 21/21] usb: dwc3: don't set gadget->is_otg flag Date: Wed, 22 Apr 2020 12:19:57 +0100 Message-Id: <20200422111957.569589-22-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200422111957.569589-1-lee.jones@linaro.org> References: <20200422111957.569589-1-lee.jones@linaro.org> MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Roger Quadros [ Upstream commit c09b73cfac2a9317f1104169045c519c6021aa1d ] This reverts commit 6a4290cc28be1 ("usb: dwc3: gadget: set the OTG flag in dwc3 gadget driver.") We don't yet support any of the OTG mechanisms (HNP/SRP/ADP) and are not setting gadget->otg_caps, so don't set gadget->is_otg flag. If we do then we end up publishing a OTG1.0 descriptor in the gadget descriptor which causes device enumeration to fail if we are connected to a host with CONFIG_USB_OTG enabled. Host side log without this patch [ 96.720453] usb 1-1: new high-speed USB device number 2 using xhci-hcd [ 96.901391] usb 1-1: Dual-Role OTG device on non-HNP port [ 96.907552] usb 1-1: set a_alt_hnp_support failed: -32 [ 97.060447] usb 1-1: new high-speed USB device number 3 using xhci-hcd [ 97.241378] usb 1-1: Dual-Role OTG device on non-HNP port [ 97.247536] usb 1-1: set a_alt_hnp_support failed: -32 [ 97.253606] usb usb1-port1: attempt power cycle [ 97.960449] usb 1-1: new high-speed USB device number 4 using xhci-hcd [ 98.141383] usb 1-1: Dual-Role OTG device on non-HNP port [ 98.147540] usb 1-1: set a_alt_hnp_support failed: -32 [ 98.300453] usb 1-1: new high-speed USB device number 5 using xhci-hcd [ 98.481391] usb 1-1: Dual-Role OTG device on non-HNP port [ 98.487545] usb 1-1: set a_alt_hnp_support failed: -32 [ 98.493532] usb usb1-port1: unable to enumerate USB device Signed-off-by: Roger Quadros Signed-off-by: Felipe Balbi Signed-off-by: Lee Jones --- drivers/usb/dwc3/gadget.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 712bd450f8573..bf36eda082d65 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -2996,7 +2996,6 @@ int dwc3_gadget_init(struct dwc3 *dwc) dwc->gadget.speed = USB_SPEED_UNKNOWN; dwc->gadget.sg_supported = true; dwc->gadget.name = "dwc3-gadget"; - dwc->gadget.is_otg = dwc->dr_mode == USB_DR_MODE_OTG; /* * FIXME We might be setting max_speed to