From patchwork Mon Jul 20 15:34:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237466 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2111729ilg; Mon, 20 Jul 2020 09:06:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfmebbi83ncp+twstAMFZ+oyuVCqOIwUmCAzJBMG6UZFAh8g42G13tpwfwirS2vS60HaUj X-Received: by 2002:a17:906:fac3:: with SMTP id lu3mr22455654ejb.374.1595261185890; Mon, 20 Jul 2020 09:06:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261185; cv=none; d=google.com; s=arc-20160816; b=WzU1iphXjpuqsv560uJIUF6o7KT6xdRS6vKY4am+6yoKMjdx+HHdN8bJnhm9K2VTuk 8BZND5At7tk8b1n+HNZqTm4owE0EYdthc2RpJffyJ4n1ylL7d7JBGV6WkF7etWWYjZBp XvxFlgLeDsQp/tZMnjPd+S6a95SrRuWH1gZsWyYNgRMb0uHYcmxAPD/fdr7akbyDtwbO QUb12fh/QIplsfeQVu6MA70zKvUvNYRPzLggJ96UeqgytXqxt4t1UojjclWzdrzbMUcl DqlqvFt0AyNYj00JIYHZNw9f+NfRQK0FC3TGPnxHSERPvO4TzX2UzVqCKNNqzumiYEiL Q4zg== 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=ClavPhECUQJ4aq1tfcq1/Mro+pYRJsj1In3HbxRudME=; b=cwke0GG3NBwMJvh47V5D22ot/L0EwVVMk7SbR22W4QU7D8/C4QIJHDmXszdhg7e2sK GpSQswF65N3LWw9L29+msrAa14dAYGeIENqWmuv9Ud4VNAmtuD6QauSBtjed6xNK7V+J eb8ZHwer5NdxpNTso8YN8Q1YNpTbL8VDZCYIOsgL/x7dgKsNp7AwIr1zTjrz+JTg7gKb bTZKi/laSEbbmVElKxFoAx00mjhL8BwTvxXxFIk7nQSt47nj9sHGk/gXA5X/NYAN4IFv V25HL8LQ+l/J+SzS0GPo7rkuPp/eOr2B57PGXtmJSwWwHO/v6BAFFcwU9GQPEX2+xgqX DsXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BfAxDhSV; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h1si11067674edv.246.2020.07.20.09.06.25; Mon, 20 Jul 2020 09:06:25 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BfAxDhSV; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732546AbgGTQGY (ORCPT + 15 others); Mon, 20 Jul 2020 12:06:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:42610 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732326AbgGTQGW (ORCPT ); Mon, 20 Jul 2020 12:06:22 -0400 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 71A9122CB1; Mon, 20 Jul 2020 16:06:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261182; bh=UGRiLNW0JDahO8Xf3/NU6SppfpdGiTJJ7PsnPOcTj68=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BfAxDhSVLPy/ralBBlMv+ydoZz2uSe6ePDMjxG7dveCBG1ZKcKF40HqTaGPSEE5G1 OhTFW+R4kkhM3ArjWZ0G/6JvybIxxPd2xcbZa1eKN+rYZ8FiHI4E9ZzGZ+Rbi/UFYR 9bfH6Qnj2CRZ80e1rOBJyMkSxQT/QV7gHrxsDB7Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alex Elder , "David S. Miller" Subject: [PATCH 5.7 023/244] net: ipa: always check for stopped channel Date: Mon, 20 Jul 2020 17:34:54 +0200 Message-Id: <20200720152826.970928166@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Alex Elder [ Upstream commit 5468cbcddf47f674829c6ada190283108a63d7b5 ] In gsi_channel_stop(), there's a check to see if the channel might have entered STOPPED state since a previous call, which might have timed out before stopping completed. That check actually belongs in gsi_channel_stop_command(), which is called repeatedly by gsi_channel_stop() for RX channels. Fixes: 650d1603825d ("soc: qcom: ipa: the generic software interface") Signed-off-by: Alex Elder Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ipa/gsi.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) --- a/drivers/net/ipa/gsi.c +++ b/drivers/net/ipa/gsi.c @@ -490,6 +490,12 @@ static int gsi_channel_stop_command(stru enum gsi_channel_state state = channel->state; int ret; + /* Channel could have entered STOPPED state since last call + * if it timed out. If so, we're done. + */ + if (state == GSI_CHANNEL_STATE_STOPPED) + return 0; + if (state != GSI_CHANNEL_STATE_STARTED && state != GSI_CHANNEL_STATE_STOP_IN_PROC) return -EINVAL; @@ -773,13 +779,6 @@ int gsi_channel_stop(struct gsi *gsi, u3 gsi_channel_freeze(channel); - /* Channel could have entered STOPPED state since last call if the - * STOP command timed out. We won't stop a channel if stopping it - * was successful previously (so we still want the freeze above). - */ - if (channel->state == GSI_CHANNEL_STATE_STOPPED) - return 0; - /* RX channels might require a little time to enter STOPPED state */ retries = channel->toward_ipa ? 0 : GSI_CHANNEL_STOP_RX_RETRIES; From patchwork Mon Jul 20 15:34:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237542 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2125655ilg; Mon, 20 Jul 2020 09:22:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy8EgcxH2ibrOkdze6OwRDLYFN5AMMWGn61s8fTh/fvIKG4KV2pNVxObiJ3JHFMZsOQ3hlU X-Received: by 2002:a17:906:1c0d:: with SMTP id k13mr22387321ejg.477.1595262160870; Mon, 20 Jul 2020 09:22:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595262160; cv=none; d=google.com; s=arc-20160816; b=vhk4C2ialinOO8ZPJzm1Bt/UXHK1lnRfSNn3a+TVmyVLM9d8fSptoGEYWEWoLSLqIT hAhf07f2pXB1MvJruW3nIvaVGa++QIsxfMeLQwZ4JGf8UU0xwFC5vmDNzgMin7x8b4P9 QwEgIvRLJcifErZJlQPVPZBxRfYi4AAwec7GMwUE6tcx02FVctygJYDZxAsFZm5Uhqc9 xpU6VH8pjOxndNr6ZJmZhqlxjqRTLJ6dwwr2qnXvuFdFmYl+0PYFxuVe5ag6/d/zA5gA qQNz8GJ5wZirVUdr8g/Rms58864Dd5KtJZ6WL61zM61s1XSdb17Aq0hp/YI9UngH902g YACQ== 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=LOHdiFK1zsWLJagTMzWca/mZZSxMCXDs+93voYTopL0=; b=je6mwBgkId0yHDnHlRq8U2a5nhYruBAhVOM9Lsa2Vj9p2IyvPbhhXJjw0lVl3roggv t/EvJeaPJYmlFfioGUpFw0KFBPN1pGw/8UzhY+rDp52FSGXfay/h/G6hZwBZYfKsJ0A2 OyuTvIzmw/P0cEUgNHVl01SDtzKSj7IDnjhXPohc1oFEcsKg/AIuLNb2gbt8eStKm5ZI uC7+Oi0PE9Jr0KqW1TLzZeKACiQCEjPsTiTPVntQRDdUZn4fNGymj2GisoenFxBbnwwJ +Ih2GpkNrh+3z8p9P9flwTkDM9jTM9J8QuamOtPcp0/lYptX4k/n2xwEf38Uw6P556Ce RBBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=r3dpSNIv; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v12si10501661eja.379.2020.07.20.09.22.39; Mon, 20 Jul 2020 09:22:40 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=r3dpSNIv; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732804AbgGTQGZ (ORCPT + 15 others); Mon, 20 Jul 2020 12:06:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:42704 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732620AbgGTQGZ (ORCPT ); Mon, 20 Jul 2020 12:06:25 -0400 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 EC86F2064B; Mon, 20 Jul 2020 16:06:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261184; bh=UrBuyJDEcb2P1q4yldNPXBc8+4qK4/umagj9wFiJm7c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r3dpSNIvA5gPYxrbdO9F+SB4JwTy8wS/yQmpswKdSAl/GnXIrCCjx4w9v7fPr41bn 8uusf3O2EjG03O56nCm9rue6EMtLrn1TV5uXG7BOPGbbKsPLJxS4GCei2MU8QcrfCb omqQM2tlXLbocucZA/DMu0/jSX8O5D2BZFS0JS5g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alex Elder , "David S. Miller" Subject: [PATCH 5.7 024/244] net: ipa: introduce ipa_cmd_tag_process() Date: Mon, 20 Jul 2020 17:34:55 +0200 Message-Id: <20200720152827.008366062@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Alex Elder [ Upstream commit 6cb63ea6a39eac9640d109f274a237b34350c183 ] Create a new function ipa_cmd_tag_process() that simply allocates a transaction, adds a tag process command to it to clear the hardware pipeline, and commits the transaction. Call it in from ipa_endpoint_suspend(), after suspending the modem endpoints but before suspending the AP command TX and AP LAN RX endpoints (which are used by the tag sequence). Signed-off-by: Alex Elder Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ipa/ipa_cmd.c | 15 +++++++++++++++ drivers/net/ipa/ipa_cmd.h | 8 ++++++++ drivers/net/ipa/ipa_endpoint.c | 2 ++ 3 files changed, 25 insertions(+) --- a/drivers/net/ipa/ipa_cmd.c +++ b/drivers/net/ipa/ipa_cmd.c @@ -645,6 +645,21 @@ u32 ipa_cmd_tag_process_count(void) return 4; } +void ipa_cmd_tag_process(struct ipa *ipa) +{ + u32 count = ipa_cmd_tag_process_count(); + struct gsi_trans *trans; + + trans = ipa_cmd_trans_alloc(ipa, count); + if (trans) { + ipa_cmd_tag_process_add(trans); + gsi_trans_commit_wait(trans); + } else { + dev_err(&ipa->pdev->dev, + "error allocating %u entry tag transaction\n", count); + } +} + static struct ipa_cmd_info * ipa_cmd_info_alloc(struct ipa_endpoint *endpoint, u32 tre_count) { --- a/drivers/net/ipa/ipa_cmd.h +++ b/drivers/net/ipa/ipa_cmd.h @@ -183,6 +183,14 @@ void ipa_cmd_tag_process_add(struct gsi_ u32 ipa_cmd_tag_process_count(void); /** + * ipa_cmd_tag_process() - Perform a tag process + * + * @Return: The number of elements to allocate in a transaction + * to hold tag process commands + */ +void ipa_cmd_tag_process(struct ipa *ipa); + +/** * ipa_cmd_trans_alloc() - Allocate a transaction for the command TX endpoint * @ipa: IPA pointer * @tre_count: Number of elements in the transaction --- a/drivers/net/ipa/ipa_endpoint.c +++ b/drivers/net/ipa/ipa_endpoint.c @@ -1485,6 +1485,8 @@ void ipa_endpoint_suspend(struct ipa *ip if (ipa->modem_netdev) ipa_modem_suspend(ipa->modem_netdev); + ipa_cmd_tag_process(ipa); + ipa_endpoint_suspend_one(ipa->name_map[IPA_ENDPOINT_AP_LAN_RX]); ipa_endpoint_suspend_one(ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]); } From patchwork Mon Jul 20 15:35:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237483 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2112242ilg; Mon, 20 Jul 2020 09:06:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxt5ptB8dERzN1HuL426cbnyp1/oFYU5yNaXr/zLbafp1Gakenydviq6m7ZbKz868Es+J7J X-Received: by 2002:a05:6402:b10:: with SMTP id bm16mr22666240edb.92.1595261217831; Mon, 20 Jul 2020 09:06:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261217; cv=none; d=google.com; s=arc-20160816; b=zOTzym4UA4+Avz94KkIhmIMI0s8AHmzj1XrUs2bQsdVQb72DX0YH3pRBqMffHBtKRb EFziYV5qe5zDh1JII0FAsPvQ4CHJoq2VZOyqRW8DUd6jhzNXfBZClBSWO1ZcYZ+P2GgO K46nIwxVBewohKvitRfTMemXIiKTsMXtEZNpzNLaoQRc9M2A2ulTj/4yWL99w21JmxnQ 5tVhFOWXroUm52BdiIXWS/5kn4Lnq9e7HuP4EgNOfaL/LVk5VlcKsW+9bdhpELtGynR3 w56odcXoGGOh4+UWkWrLC3zAXQTVWOBl0O9WwauVZmMTAypmQp7WK8uNJT/9HY/1YOfK vd8Q== 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=OMmCnXHmN2ILvEh5wgtfRmO4LUerlNvY62aSFBd3j8g=; b=kFw4ZButEy1ErsCJ9r0bEyKqx50jPrFmSs+7GyNMMoWeHkzzAgYTd9GEWrbfYf5Mty cJUp3Od36wMv+VNHQEB9iGXq0yo8H/vwoEtBnfeNCl59qj6rCHhy1q/ju6CplIttXb4Q THpTaklxbkrQYEX9UMbpxwtgNgT4XPeLSPOCQIEkOCbXwrPgCo8Hd/xEar18qDrZt/O8 SPSvUdQeE6HuFbltCcAHbivBRI0QBd2UXFL2wR4sZsMz0eXqDSU0Y2uNA20OZciCEAf0 4BYa2OypfU52H1EvCzt3fu88QKT9oLwIyrstclyiPBqoyUYf6/+lfcOtzxnvfkdrigf8 sAxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="OBIIbe7/"; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b9si10656981edq.23.2020.07.20.09.06.57; Mon, 20 Jul 2020 09:06:57 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="OBIIbe7/"; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731014AbgGTQGz (ORCPT + 15 others); Mon, 20 Jul 2020 12:06:55 -0400 Received: from mail.kernel.org ([198.145.29.99]:43494 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732723AbgGTQGz (ORCPT ); Mon, 20 Jul 2020 12:06:55 -0400 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 12AC32064B; Mon, 20 Jul 2020 16:06:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261214; bh=B4KbhpoltGExd208/4xHgN1aUeY0aanpA2UIDqaA8Jk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OBIIbe7/hUtUirxhv+6OcVZAV/9x/laH66fsygEg2em42giMmt+t3Cy9SRrxqHfnF g+P+ew6XMbVyyilNdmlvyX/8e/1ZnQpgQb1FLbJofn8QUke6v8Ikdwpxof2CcXQOOU OOyN+2BrUc448tVZjpJS14RlJpIfrToPb3klRuYs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, kbuild test robot , Marek Szyprowski , Inki Dae , Sasha Levin Subject: [PATCH 5.7 034/244] drm/exynos: Properly propagate return value in drm_iommu_attach_device() Date: Mon, 20 Jul 2020 17:35:05 +0200 Message-Id: <20200720152827.488625929@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Marek Szyprowski [ Upstream commit b9c633882de4601015625f9136f248e9abca8a7a ] Propagate the proper error codes from the called functions instead of unconditionally returning 0. Reported-by: kbuild test robot Signed-off-by: Marek Szyprowski Merge conflict so merged it manually. Signed-off-by: Inki Dae Signed-off-by: Sasha Levin --- drivers/gpu/drm/exynos/exynos_drm_dma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.25.1 diff --git a/drivers/gpu/drm/exynos/exynos_drm_dma.c b/drivers/gpu/drm/exynos/exynos_drm_dma.c index 619f81435c1b2..58b89ec11b0eb 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dma.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dma.c @@ -61,7 +61,7 @@ static int drm_iommu_attach_device(struct drm_device *drm_dev, struct device *subdrv_dev, void **dma_priv) { struct exynos_drm_private *priv = drm_dev->dev_private; - int ret; + int ret = 0; if (get_dma_ops(priv->dma_dev) != get_dma_ops(subdrv_dev)) { DRM_DEV_ERROR(subdrv_dev, "Device %s lacks support for IOMMU\n", @@ -92,7 +92,7 @@ static int drm_iommu_attach_device(struct drm_device *drm_dev, if (ret) clear_dma_max_seg_size(subdrv_dev); - return 0; + return ret; } /* From patchwork Mon Jul 20 15:35:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237510 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2113749ilg; Mon, 20 Jul 2020 09:08:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyNeV7m2SsNsPYNqDnIH6dPLg2SLaQVMADRDZjJs84RzidvJgPwHIVEpwkbDsnT0M/X7k1Y X-Received: by 2002:a05:6402:31ad:: with SMTP id dj13mr22081306edb.88.1595261312011; Mon, 20 Jul 2020 09:08:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261312; cv=none; d=google.com; s=arc-20160816; b=erwfVXc29EHz5VXs77WLR5r6J0YKOWIUKAImeovqZ1KbYIsBDzAqq+XirOcWvfY6hX qfrvsM7IcaHvJp5hFc+haTNqdihhhT485lfltIERPj27syws7QIuMIDu5JEpEeEmwQn3 bNh0/mu8VCU43FUeJuuLJAjyXeYfVvvw2ECAi9qbfyu5AfHZEpB/GEaA0rmSMt/+zRuZ 3KzQ0oYGkh1JMJupideggbZBkI17ZNFqvS60/l2EY6nMLrb5Os7gh3AyJXsNEajI0Baj CT91LSun3gRL9PiacgHJo69yJXe+Aqz3+sv+vMXzeEy+XdiOW2Awc0EjxqrEW0n89w37 ztOw== 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=CqA8pMM7zntcnKHzktk9E9udOJc8vQ/Z7WGofqdAvUw=; b=S+JMcCUx+6YPccTaf86j4wZNq2FHUEZWKA/O30zZKcDbE5OLL2y3Mk+DYKwYcSnvqO W+wqCxWS4Sad8wRHXTZl41wyxLMXrgIu++65EbgGOCDobbAhnuN4jeDBRiY5FuBexWgP Y9yY6s9yRVYb4940ADAMPh1ZdEyBmHicT/7gwew8tl0qSoRC6H6oEI2UtZO6hDbwYGPg zC0Xd/+gVXLYhivuGYmGnpg/33fu0qNN0PEUBal1gJIHEhhEPwL29n210NNIM3oYdcmU tyjdZKfKoXKN4zs41lYC+GPk4yGG3zcMcgMPlJnGC3KjEdM9imAI9F0csccdhEAKFL31 rnKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VN7Ur6RJ; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i16si10780351edx.275.2020.07.20.09.08.31; Mon, 20 Jul 2020 09:08:32 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VN7Ur6RJ; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733305AbgGTQIa (ORCPT + 15 others); Mon, 20 Jul 2020 12:08:30 -0400 Received: from mail.kernel.org ([198.145.29.99]:45956 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733303AbgGTQIa (ORCPT ); Mon, 20 Jul 2020 12:08:30 -0400 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 E98A322CBE; Mon, 20 Jul 2020 16:08:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261309; bh=wyhtxrRVjoNaSMSi3svCzuj5nQN4rviZjNep9R9HDHg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VN7Ur6RJMyEC2cFXP59NinnkvxXofWoH9R10V+ZbWGGOlVOAZF7aLtF3dS75XXWcZ f3oIbpyG9rmJO/xmDo0zfe6DrXv6qB5zTFIXqbODPp6llgIYogYYAqrQkU4AowKWHs Iq4VwtljbcFC0rYfg9qej9LkSRCYY4ELD9MZrtpk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Masahiro Yamada , Rob Herring , Sasha Levin Subject: [PATCH 5.7 042/244] dt-bindings: bus: uniphier-system-bus: fix warning in example Date: Mon, 20 Jul 2020 17:35:13 +0200 Message-Id: <20200720152827.855042349@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Masahiro Yamada [ Upstream commit 0fb24d1e5a6cf3b7ca0df325fbfb10895df41bec ] Since commit e69f5dc623f9 ("dt-bindings: serial: Convert 8250 to json-schema"), the schema for "ns16550a" is checked. 'make dt_binding_check' emits the following warning: uart@5,00200000: $nodename:0: 'uart@5,00200000' does not match '^serial(@[0-9a-f,]+)*$' Rename the node to follow the pattern defined in Documentation/devicetree/bindings/serial/serial.yaml While I was here, I removed leading zeros from unit names. Signed-off-by: Masahiro Yamada Link: https://lore.kernel.org/r/20200623113242.779241-1-yamada.masahiro@socionext.com Signed-off-by: Rob Herring Signed-off-by: Sasha Levin --- .../bindings/bus/socionext,uniphier-system-bus.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.25.1 diff --git a/Documentation/devicetree/bindings/bus/socionext,uniphier-system-bus.yaml b/Documentation/devicetree/bindings/bus/socionext,uniphier-system-bus.yaml index c4c9119e4a206..a0c6c5d2b70fb 100644 --- a/Documentation/devicetree/bindings/bus/socionext,uniphier-system-bus.yaml +++ b/Documentation/devicetree/bindings/bus/socionext,uniphier-system-bus.yaml @@ -80,14 +80,14 @@ examples: ranges = <1 0x00000000 0x42000000 0x02000000>, <5 0x00000000 0x46000000 0x01000000>; - ethernet@1,01f00000 { + ethernet@1,1f00000 { compatible = "smsc,lan9115"; reg = <1 0x01f00000 0x1000>; interrupts = <0 48 4>; phy-mode = "mii"; }; - uart@5,00200000 { + serial@5,200000 { compatible = "ns16550a"; reg = <5 0x00200000 0x20>; interrupts = <0 49 4>; From patchwork Mon Jul 20 15:35:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237494 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2113369ilg; Mon, 20 Jul 2020 09:08:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznzYacgIrhhIR8fpNmti1R2j4Viegl6Mrh3aUuoZTdl3nRzwlgcVDiOQjvhepkRRkBEK5j X-Received: by 2002:a17:906:4b16:: with SMTP id y22mr21610323eju.4.1595261288727; Mon, 20 Jul 2020 09:08:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261288; cv=none; d=google.com; s=arc-20160816; b=UBRFJSZfaOM0CfmqhjyGZDsUGmdRiXwm1UxqZSxnRuQ1CskQe90s8HltaUBtwvGZn/ +kBVJ3cVIizI9qR1ExVRpkKn3uFetKZretQGFUswGZAZ+8nZ1p0yCGWwRFgq9Iz7qDqo SajhHmMcsR/BiMH3E3fNzHjoHiKVw6Tz1Zll75ocsH8BIozFnhg8Dz+JHPJAXPpF3Sql F6o7zPareFpInhRUPQTWR1XNL4293EAmrd+HuK+MZnRQmCnnvTowZVR1//nPaM+7f9pP vUj9G9fNeObfzXBDPmY/WB+oePla33w1GCSYrnu9YalQqoubhPTpzteTol9Fw+SWg/Ok 8gbg== 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=GUPYLs39yvW9dExfVoyDSN71ZYgfoawwxQIJUWhYVuQ=; b=mQgzP4e7fLwb2qW9957ajk+gO7EiusKHl5zoU+FUyWSegdB/M7TmAaNv5LV1qgQozG AOHNxtiDs6SloFU9sKhywgymlWz1l9FNmgPtjWlN//GCZkRuTT3UkuFax8dx3lapVb+H klEzcQn/WnBxqMedmwle1EMZj4n17OOaOWVLplaZTkRXC+gP7PloBiQeYoCf1+fR5s+C cE0jR0qgtLE052hggf+A8jvRszfQ7rcvp+ietGBl/k9ydJjVFWn4mkqqzjsKuEmyh+TU 6Ar3vVl6RysxZbkb1GBNozdRhVuctiaynecscsNHC9hYOqUV931RdOXxa8YV/jk93Iq3 wcJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hhZN90Z4; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t8si10740132ejs.72.2020.07.20.09.08.08; Mon, 20 Jul 2020 09:08:08 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hhZN90Z4; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732761AbgGTQIF (ORCPT + 15 others); Mon, 20 Jul 2020 12:08:05 -0400 Received: from mail.kernel.org ([198.145.29.99]:45328 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733242AbgGTQIE (ORCPT ); Mon, 20 Jul 2020 12:08:04 -0400 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 8891722CB1; Mon, 20 Jul 2020 16:08:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261284; bh=1CVY6Ixyfc3N1iXZi/C5GQOuWmGjDONCEAmLWXAlKvI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hhZN90Z4bjdwKvB/q8Yy4QOSwQivumx4NIPzLwzn0xotRvWsr64V21vF2+E4iqj4Y zHw3ltHooKjuWA7bQeqKoUQpDpXlGd6/dYc6o049XEcJ1JbH1hCx14iz16Yo3NltXL ddSJEl5pVKKAqzapeBnoxLzxvuiCiotR3YIVhYzQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lars-Peter Clausen , Linus Walleij , Jonathan Cameron , Stable@vger.kernel.org Subject: [PATCH 5.7 060/244] iio:magnetometer:ak8974: Fix alignment and data leak issues Date: Mon, 20 Jul 2020 17:35:31 +0200 Message-Id: <20200720152828.711414923@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jonathan Cameron commit 838e00b13bfd4cac8b24df25bfc58e2eb99bcc70 upstream. One of a class of bugs pointed out by Lars in a recent review. iio_push_to_buffers_with_timestamp assumes the buffer used is aligned to the size of the timestamp (8 bytes). This is not guaranteed in this driver which uses an array of smaller elements on the stack. As Lars also noted this anti pattern can involve a leak of data to userspace and that indeed can happen here. We close both issues by moving to a suitable structure in the iio_priv() data. This data is allocated with kzalloc so no data can leak appart from previous readings. Fixes: 7c94a8b2ee8cf ("iio: magn: add a driver for AK8974") Reported-by: Lars-Peter Clausen Reviewed-by: Linus Walleij Signed-off-by: Jonathan Cameron Cc: Signed-off-by: Greg Kroah-Hartman --- drivers/iio/magnetometer/ak8974.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) --- a/drivers/iio/magnetometer/ak8974.c +++ b/drivers/iio/magnetometer/ak8974.c @@ -185,6 +185,11 @@ struct ak8974 { bool drdy_irq; struct completion drdy_complete; bool drdy_active_low; + /* Ensure timestamp is naturally aligned */ + struct { + __le16 channels[3]; + s64 ts __aligned(8); + } scan; }; static const char ak8974_reg_avdd[] = "avdd"; @@ -581,7 +586,6 @@ static void ak8974_fill_buffer(struct ii { struct ak8974 *ak8974 = iio_priv(indio_dev); int ret; - __le16 hw_values[8]; /* Three axes + 64bit padding */ pm_runtime_get_sync(&ak8974->i2c->dev); mutex_lock(&ak8974->lock); @@ -591,13 +595,13 @@ static void ak8974_fill_buffer(struct ii dev_err(&ak8974->i2c->dev, "error triggering measure\n"); goto out_unlock; } - ret = ak8974_getresult(ak8974, hw_values); + ret = ak8974_getresult(ak8974, ak8974->scan.channels); if (ret) { dev_err(&ak8974->i2c->dev, "error getting measures\n"); goto out_unlock; } - iio_push_to_buffers_with_timestamp(indio_dev, hw_values, + iio_push_to_buffers_with_timestamp(indio_dev, &ak8974->scan, iio_get_time_ns(indio_dev)); out_unlock: From patchwork Mon Jul 20 15:35:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237541 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2124855ilg; Mon, 20 Jul 2020 09:21:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzrsJ4EC/rDCm8hjElJeHlpstP5YvhiwQGuTYJlVteR7MDncZfTaRUL4wmHRrmDHlFmUtNM X-Received: by 2002:a50:fd12:: with SMTP id i18mr22666426eds.371.1595262096938; Mon, 20 Jul 2020 09:21:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595262096; cv=none; d=google.com; s=arc-20160816; b=VKmkmvK0HQ+n1uAEzTtQgIJHSYhE6FFeoeVSRZuVPID+WutdIsUPkxYF9/zHWAw9JY m1P4Kn0W+p+j68GHGLD7vezWufwBqdEyl1KYYD9cBo8DWb6hj93Y08alsK9zWsbO8L+s WlgkQTLXmork0g6zlyj2tbUFdBMSZhA7HyB7bv9jToZ22Lu5jLblxSlPtZix5Eu7h3qh cHkoxM2UXPShIOOQl78TKVSolRRdLOuOJZ2bRxNKGA8mbgdL3yUaUxQ92Zheby9OVGCK TYpnhoOdDJ5j3AlBC6KDZw8Cd9wiiZzqULn9ZTJOF+MGnM8koOoruuMLIEhaCtWuiCFx PrUg== 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=F3Lcrmec9BRco0Ex0e8TGKOHS0X74qoUUJlG17cDBkg=; b=EtBPFFNL9rdtfv9P5Q491gRW7YWsl9jQh6pq9vqTbNsuSx7v9gZxAd7kdB+nSAdVdn qJcEyqR0DuSI+ygMxeGTP5hsFWuRtr2yx6X1e3m/XrqS84LevrPg5jjTZOVDn0mYvdN6 XyzeaPXUP7aUPlMxfMMJkHOGJ6A2B7m8YeZs0sxnFNulx3E1E26N5+eJeoCgJ+uFCoAa BDTvzjDd7w2tHBivWcKLcn0XrPQNDmIalwlsB1ZatOObZtVSNO/3GmNUUCEv7DN8ZYTN xf47+1ZF3nAaJLa7bRbcqO7RdAl9eUIn7gx4WRXOKm+WqHsh70N1K1nsiXjEa72WQAA1 tlYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gCdrFOET; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q18si10862861edr.440.2020.07.20.09.21.36; Mon, 20 Jul 2020 09:21:36 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gCdrFOET; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733226AbgGTQII (ORCPT + 15 others); Mon, 20 Jul 2020 12:08:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:45380 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732527AbgGTQIH (ORCPT ); Mon, 20 Jul 2020 12:08:07 -0400 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 4F5962065E; Mon, 20 Jul 2020 16:08:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261286; bh=6A7pUNuFUs6rSN73jvhbreK2J1VkrLL4f5bZyC7umC0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gCdrFOETEPGRavoXX0UmLlRigGCoLJtMkEs9ASJdjcD+NsMpHZAmf3F0heZzMEm74 WaRQ2pElI3UrEJ3OUywU++/nvFITb95R/g3D9R4se5uuIOTXReIPDmOWN8KJZlVE6S APEwO7af24HVudKPQAPVLRhqT/UbH9rQEpp4whkU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lars-Peter Clausen , Matt Ranostay , Alison Schofield , Jonathan Cameron , Stable@vger.kernel.org Subject: [PATCH 5.7 061/244] iio:humidity:hdc100x Fix alignment and data leak issues Date: Mon, 20 Jul 2020 17:35:32 +0200 Message-Id: <20200720152828.757780064@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jonathan Cameron commit ea5e7a7bb6205d24371373cd80325db1bc15eded upstream. One of a class of bugs pointed out by Lars in a recent review. iio_push_to_buffers_with_timestamp assumes the buffer used is aligned to the size of the timestamp (8 bytes). This is not guaranteed in this driver which uses an array of smaller elements on the stack. As Lars also noted this anti pattern can involve a leak of data to userspace and that indeed can happen here. We close both issues by moving to a suitable structure in the iio_priv() data. This data is allocated with kzalloc so no data can leak apart from previous readings. Fixes: 16bf793f86b2 ("iio: humidity: hdc100x: add triggered buffer support for HDC100X") Reported-by: Lars-Peter Clausen Acked-by: Matt Ranostay Cc: Alison Schofield Signed-off-by: Jonathan Cameron Cc: Signed-off-by: Greg Kroah-Hartman --- drivers/iio/humidity/hdc100x.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) --- a/drivers/iio/humidity/hdc100x.c +++ b/drivers/iio/humidity/hdc100x.c @@ -38,6 +38,11 @@ struct hdc100x_data { /* integration time of the sensor */ int adc_int_us[2]; + /* Ensure natural alignment of timestamp */ + struct { + __be16 channels[2]; + s64 ts __aligned(8); + } scan; }; /* integration time in us */ @@ -322,7 +327,6 @@ static irqreturn_t hdc100x_trigger_handl struct i2c_client *client = data->client; int delay = data->adc_int_us[0] + data->adc_int_us[1]; int ret; - s16 buf[8]; /* 2x s16 + padding + 8 byte timestamp */ /* dual read starts at temp register */ mutex_lock(&data->lock); @@ -333,13 +337,13 @@ static irqreturn_t hdc100x_trigger_handl } usleep_range(delay, delay + 1000); - ret = i2c_master_recv(client, (u8 *)buf, 4); + ret = i2c_master_recv(client, (u8 *)data->scan.channels, 4); if (ret < 0) { dev_err(&client->dev, "cannot read sensor data\n"); goto err; } - iio_push_to_buffers_with_timestamp(indio_dev, buf, + iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, iio_get_time_ns(indio_dev)); err: mutex_unlock(&data->lock); From patchwork Mon Jul 20 15:35:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237496 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2113622ilg; Mon, 20 Jul 2020 09:08:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwjBl9LNlbHGpF+8SOb81AxuS3cwttm/lJBiczEwq/3sFzPTxPvP95K2j5MaaPBkOZAyMaf X-Received: by 2002:a17:906:a892:: with SMTP id ha18mr21921896ejb.462.1595261304946; Mon, 20 Jul 2020 09:08:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261304; cv=none; d=google.com; s=arc-20160816; b=R9qxQZ1ycG6BHq7ZQuk0JLYpdOKfTIEBmC1Dqf8VJbgLjhxw+Mbnto4jf75GMTn4lR hjIwbmizRL7dKuVs2V1cbVEtAmluH+cXbhSg2Qzsi2CzRsW2V3x7n/9JzgHV7wA9uL9g dDAkKY8hDIPIuLaSFDwfKVrTLrGdZOsdgdNECrTzcgrtegf5CpBNjwmEwW//l5lWdzgD YKyvE6sFhIeH+DHPmiWuqr00hSlvrGXZjZcWghWhO58RU2rB9vS0R3ZoYegnSTMUbwuv wLwQDabIbJiZSx20v41YYEgfLPsUHl9TPRWV3DJjbiBMnpYTZ2af3g91mzw1MlX2RONQ NQBA== 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=n/Viv3BKqq8pIm+TYLRX1e59MtTTFZasgakEooSEyHw=; b=VnNUA32t4OpEWFh720ivK7PU7z707pj8M1ydGylvmB/jltpcsQblmWuNJ7g1N90Sh8 rAmqJbsHK0Sjzij2a5VbpnZDg1uNbDJJfABQ7qhzwjAQxdqYoEdhmz2f7XvYI3Z7hHa0 y07G8uFUdCOjW9sjWzTcnFj5gOI6FpVTEJvMccXNKt7TnYDzD3g6Yt7wBGToD4SngDTK cTX8GIKwAIZtH+r0eMZr5sJr1U1mRe3KxzgmsN4DwrZpt5NXZbc+Oc3n1G8jvjimTi3Z KOCh0R+qn0I1f6td0u2fQL0Vdl2G3OwJZlef0/wnLHJn57meo8UUcH3rdEq/iW/YdDWo 9yoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SKha4bXs; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dh22si10537929edb.38.2020.07.20.09.08.24; Mon, 20 Jul 2020 09:08:24 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SKha4bXs; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733285AbgGTQIX (ORCPT + 15 others); Mon, 20 Jul 2020 12:08:23 -0400 Received: from mail.kernel.org ([198.145.29.99]:45750 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733254AbgGTQIW (ORCPT ); Mon, 20 Jul 2020 12:08:22 -0400 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 BAEF62065E; Mon, 20 Jul 2020 16:08:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261301; bh=gBJjacVL2m/4ejgMgslD8NKdAbwGMCJFnQvE0Zo+e6Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SKha4bXsF9oGr4yaofeiqrVywksEOxX4/l9NA+gmO2ez4w3RZOn3I6iKFlLZnhWuh RwqFsnISKu0phKfVafxS2Mw0B7+I3cLNIcUuyD541MRMxjaEp68E7WLRpVCbi/X9F2 lDw/pJa3i9YfkIma9AiroIpd+2C2u7ocVQZBazkI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lars-Peter Clausen , Lorenzo Bianconi , Jonathan Cameron , Stable@vger.kernel.org Subject: [PATCH 5.7 066/244] iio:humidity:hts221 Fix alignment and data leak issues Date: Mon, 20 Jul 2020 17:35:37 +0200 Message-Id: <20200720152828.997519701@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jonathan Cameron commit 5c49056ad9f3c786f7716da2dd47e4488fc6bd25 upstream. One of a class of bugs pointed out by Lars in a recent review. iio_push_to_buffers_with_timestamp assumes the buffer used is aligned to the size of the timestamp (8 bytes). This is not guaranteed in this driver which uses an array of smaller elements on the stack. As Lars also noted this anti pattern can involve a leak of data to userspace and that indeed can happen here. We close both issues by moving to a suitable structure in the iio_priv() data. This data is allocated with kzalloc so no data can leak apart from previous readings. Explicit alignment of ts needed to ensure consistent padding on all architectures (particularly x86_32 with it's 4 byte alignment of s64) Fixes: e4a70e3e7d84 ("iio: humidity: add support to hts221 rh/temp combo device") Reported-by: Lars-Peter Clausen Acked-by: Lorenzo Bianconi Signed-off-by: Jonathan Cameron Cc: Signed-off-by: Greg Kroah-Hartman --- drivers/iio/humidity/hts221.h | 7 +++++-- drivers/iio/humidity/hts221_buffer.c | 9 +++++---- 2 files changed, 10 insertions(+), 6 deletions(-) --- a/drivers/iio/humidity/hts221.h +++ b/drivers/iio/humidity/hts221.h @@ -14,8 +14,6 @@ #include -#define HTS221_DATA_SIZE 2 - enum hts221_sensor_type { HTS221_SENSOR_H, HTS221_SENSOR_T, @@ -39,6 +37,11 @@ struct hts221_hw { bool enabled; u8 odr; + /* Ensure natural alignment of timestamp */ + struct { + __le16 channels[2]; + s64 ts __aligned(8); + } scan; }; extern const struct dev_pm_ops hts221_pm_ops; --- a/drivers/iio/humidity/hts221_buffer.c +++ b/drivers/iio/humidity/hts221_buffer.c @@ -162,7 +162,6 @@ static const struct iio_buffer_setup_ops static irqreturn_t hts221_buffer_handler_thread(int irq, void *p) { - u8 buffer[ALIGN(2 * HTS221_DATA_SIZE, sizeof(s64)) + sizeof(s64)]; struct iio_poll_func *pf = p; struct iio_dev *iio_dev = pf->indio_dev; struct hts221_hw *hw = iio_priv(iio_dev); @@ -172,18 +171,20 @@ static irqreturn_t hts221_buffer_handler /* humidity data */ ch = &iio_dev->channels[HTS221_SENSOR_H]; err = regmap_bulk_read(hw->regmap, ch->address, - buffer, HTS221_DATA_SIZE); + &hw->scan.channels[0], + sizeof(hw->scan.channels[0])); if (err < 0) goto out; /* temperature data */ ch = &iio_dev->channels[HTS221_SENSOR_T]; err = regmap_bulk_read(hw->regmap, ch->address, - buffer + HTS221_DATA_SIZE, HTS221_DATA_SIZE); + &hw->scan.channels[1], + sizeof(hw->scan.channels[1])); if (err < 0) goto out; - iio_push_to_buffers_with_timestamp(iio_dev, buffer, + iio_push_to_buffers_with_timestamp(iio_dev, &hw->scan, iio_get_time_ns(iio_dev)); out: From patchwork Mon Jul 20 15:35:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237500 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2113669ilg; Mon, 20 Jul 2020 09:08:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzkWDq0PU5TDshljaeqhN0utTJnNGsSV5mcGWXm+KByzetQlbr2Aa+tQQTCur+/weso2ASS X-Received: by 2002:a17:906:364e:: with SMTP id r14mr20715815ejb.258.1595261307462; Mon, 20 Jul 2020 09:08:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261307; cv=none; d=google.com; s=arc-20160816; b=hDD8SG1lohpWyT8gYJAmrTwaKr15ZAAeHYwzeiIgyw7h1jCAWmUFVqSoxtwvBkBpoJ YOZRuIgq1uMhRFcensEDbx6kcm4Gz0ZxhCh4VZ+LpVGl5GrO+RRqLRU4elczXGe6Ny6p 2sZi/CmgtlNkfnRz41fo/GTXHmnZW7Kwvd+eLWp1al/bpEx9RwQIvHaZPlDZcPAhpXzi UzHIFwFj+B8oc39ObV1HqQ0IJAzNT3MBRThQjGooD1LPOcI4y8Hb66QzUxqPOdHnvcnt 2N5fvTzFUNIcuDjaKtfK07SAt/0xMThAXbundEAXm0tiA5hqpINx5IEBOd7fiS3F6Luv bNnQ== 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=MQukpceyA3tWf1bkLRu/MatGBpYJxWayJXaiWUTaRdA=; b=pAilLXOZhZl2GBeOLsnPmkzz+ALY+kOLliFL+cJcl3s7ALgNskHwe0dlYKljNnhjer jyz2iCYFpueZyAWcDebjIH0EL4R9z7i9w/c3U0iDEZqHaNiRzE21lCaLJzuuRyRMO3eN hOBSvB5L5+3ycQQN1XRIHltLOmGHPS9RHgR9kFW/oh8EhIm/KflxFXOIqrpgQnmRxGZH 63j+vN+G7RXCs1rAAm1iD7+OoPnn4I+QXjOai8Z9F+rvGoXBU4eUY3cPrP1VH3igNCOl 9wxazKZ6Wo3WIOekxZgXQAjfiyVcEpG0VF0KkuHclS8C2Bg1iQ78sfjJ8mfIZ7nIpHAw COMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OGtFQuOv; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dh22si10537929edb.38.2020.07.20.09.08.26; Mon, 20 Jul 2020 09:08:27 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OGtFQuOv; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732750AbgGTQIZ (ORCPT + 15 others); Mon, 20 Jul 2020 12:08:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:45816 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733292AbgGTQIY (ORCPT ); Mon, 20 Jul 2020 12:08:24 -0400 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 8371F20672; Mon, 20 Jul 2020 16:08:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261304; bh=1H5+7kJO9eaqpbN5JgnI5mNMkNUZHr0WnC6h16aXQEM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OGtFQuOvzgGf6ep0ye8lVBO/Q7/Ud4xlYkEVudlagSdc1j7LtPIrHJEk7YqfvGLC+ B52jjg7/BfYU8GmZ3/FTsdZ9v4YtUP35V1Y0X6adp8pMmsVKOPzq3ihBKqjbvSEB1s C0Sedmmb5gzudjgqDUqhvYNetpgCCpx327iyBuD0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lars-Peter Clausen , Jonathan Cameron , Tomasz Duszynski , Stable@vger.kernel.org Subject: [PATCH 5.7 067/244] iio:pressure:ms5611 Fix buffer element alignment Date: Mon, 20 Jul 2020 17:35:38 +0200 Message-Id: <20200720152829.043924062@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jonathan Cameron commit 8db4afe163bbdd93dca6fcefbb831ef12ecc6b4d upstream. One of a class of bugs pointed out by Lars in a recent review. iio_push_to_buffers_with_timestamp assumes the buffer used is aligned to the size of the timestamp (8 bytes). This is not guaranteed in this driver which uses an array of smaller elements on the stack. Here there is no data leak possibility so use an explicit structure on the stack to ensure alignment and nice readable fashion. The forced alignment of ts isn't strictly necessary in this driver as the padding will be correct anyway (there isn't any). However it is probably less fragile to have it there and it acts as documentation of the requirement. Fixes: 713bbb4efb9dc ("iio: pressure: ms5611: Add triggered buffer support") Reported-by: Lars-Peter Clausen Signed-off-by: Jonathan Cameron Acked-by: Tomasz Duszynski Cc: Signed-off-by: Greg Kroah-Hartman --- drivers/iio/pressure/ms5611_core.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/drivers/iio/pressure/ms5611_core.c +++ b/drivers/iio/pressure/ms5611_core.c @@ -212,16 +212,21 @@ static irqreturn_t ms5611_trigger_handle struct iio_poll_func *pf = p; struct iio_dev *indio_dev = pf->indio_dev; struct ms5611_state *st = iio_priv(indio_dev); - s32 buf[4]; /* s32 (pressure) + s32 (temp) + 2 * s32 (timestamp) */ + /* Ensure buffer elements are naturally aligned */ + struct { + s32 channels[2]; + s64 ts __aligned(8); + } scan; int ret; mutex_lock(&st->lock); - ret = ms5611_read_temp_and_pressure(indio_dev, &buf[1], &buf[0]); + ret = ms5611_read_temp_and_pressure(indio_dev, &scan.channels[1], + &scan.channels[0]); mutex_unlock(&st->lock); if (ret < 0) goto err; - iio_push_to_buffers_with_timestamp(indio_dev, buf, + iio_push_to_buffers_with_timestamp(indio_dev, &scan, iio_get_time_ns(indio_dev)); err: From patchwork Mon Jul 20 15:35:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237507 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2113726ilg; Mon, 20 Jul 2020 09:08:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwdaZqeeMpqTpUIIBOIihlirnvpL9rX5HVg/ue385tXfmgGiKtCoDXa8mTiHglIfeWdwVOO X-Received: by 2002:a50:bece:: with SMTP id e14mr21530242edk.190.1595261310634; Mon, 20 Jul 2020 09:08:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261310; cv=none; d=google.com; s=arc-20160816; b=Ml9CqV3NuBWnZcst345xl0s+ixxzbx8L6/FdnrvCNqLMkh6mgfUy92iNEb+IDWxK0I dlBb0RVbbjXaWnFY+jEZMnHOSZzUg7cNm4zezBYzk7iTap2T/QPZZg/yh4knxCKe2Ut8 CyzEDfPPKaUoNU+IsuRuK5qHAl+IYwHrc+7Q1id2ssyWqjQd0mjLzEC7HJz7zSlGe/Zz bFDEjXXNKJNYkev5VsJEwSoAQMHwaiZgT/s2WxSEdKIqGTw9MSn3K88dRMlXGVOVN4Yy MUF4xweCIzOwNHWIGQIKA0fo2kXFekQ6/MjiszHn9r+DDhQRcKBSJN88iswXmj4K5g4J CTZQ== 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=k6U0NZgnQQRIoQRUlqjRi7AMq0FczpcvAqO0hXo/poo=; b=rIi0XLahn/ART60vxn3GTkrb/FM9jWlbvgPJXafJmQm0AfKIM5GOerkBr74DAWiMr4 B5Fq+80EAEGSrCl5tc+wGO9bB5E7HP26WSpsEr1bK4rnYkmtdmriGV6oeXpDWNuvCfcY ayeDqTluvwFVSgcH4mZL0hJ0F+YLPIIwN2jeHPVzx/xRy9hszB5vscYEeX+zyXurEWDJ 0t3mAr7C9w9bhJmXGshiRUSwYXqW3Pk/kSGkZa0IajeYOUX6DWE560CHz8+0iAyjtWSN HHNdsXYhqsmy5sfK13v+uvUBWPBNnHBGzaAJZxYuTQUFImmeSJ/FJy3h+Xe9XDGStssc YWUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=tbTNluYH; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i16si10780351edx.275.2020.07.20.09.08.30; Mon, 20 Jul 2020 09:08:30 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=tbTNluYH; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733254AbgGTQI2 (ORCPT + 15 others); Mon, 20 Jul 2020 12:08:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:45902 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733300AbgGTQI1 (ORCPT ); Mon, 20 Jul 2020 12:08:27 -0400 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 475722064B; Mon, 20 Jul 2020 16:08:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261306; bh=IReQaCQ1JzU9pd3WgkQG2WkZwI3+Cf/nWKg9g+Jb9Do=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tbTNluYHU7wApbjAQQ/WFls6/lFYFFK8PMbecxf8l9ZdQhGz8foRWxXiGwcbqx1e5 RhLn5CkxjPZtqIr7jSFgpL93xQ9gFKYjMADBYCggpI0M7tihjHQxW+tK76TkBWX7WB HX6OMswBL77rpnbXhwxtah2Av7IwFw4WeYd7XaU8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lars-Peter Clausen , Jonathan Cameron , "Andrew F. Davis" , Stable@vger.kernel.org Subject: [PATCH 5.7 068/244] iio:health:afe4403 Fix timestamp alignment and prevent data leak. Date: Mon, 20 Jul 2020 17:35:39 +0200 Message-Id: <20200720152829.084625643@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jonathan Cameron commit 3f9c6d38797e9903937b007a341dad0c251765d6 upstream. One of a class of bugs pointed out by Lars in a recent review. iio_push_to_buffers_with_timestamp assumes the buffer used is aligned to the size of the timestamp (8 bytes). This is not guaranteed in this driver which uses a 32 byte array of smaller elements on the stack. As Lars also noted this anti pattern can involve a leak of data to userspace and that indeed can happen here. We close both issues by moving to a suitable structure in the iio_priv() data with alignment explicitly requested. This data is allocated with kzalloc so no data can leak appart from previous readings. Fixes: eec96d1e2d31 ("iio: health: Add driver for the TI AFE4403 heart monitor") Reported-by: Lars-Peter Clausen Signed-off-by: Jonathan Cameron Acked-by: Andrew F. Davis Cc: Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/iio/health/afe4403.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) --- a/drivers/iio/health/afe4403.c +++ b/drivers/iio/health/afe4403.c @@ -63,6 +63,7 @@ static const struct reg_field afe4403_re * @regulator: Pointer to the regulator for the IC * @trig: IIO trigger for this device * @irq: ADC_RDY line interrupt number + * @buffer: Used to construct data layout to push into IIO buffer. */ struct afe4403_data { struct device *dev; @@ -72,6 +73,8 @@ struct afe4403_data { struct regulator *regulator; struct iio_trigger *trig; int irq; + /* Ensure suitable alignment for timestamp */ + s32 buffer[8] __aligned(8); }; enum afe4403_chan_id { @@ -309,7 +312,6 @@ static irqreturn_t afe4403_trigger_handl struct iio_dev *indio_dev = pf->indio_dev; struct afe4403_data *afe = iio_priv(indio_dev); int ret, bit, i = 0; - s32 buffer[8]; u8 tx[4] = {AFE440X_CONTROL0, 0x0, 0x0, AFE440X_CONTROL0_READ}; u8 rx[3]; @@ -326,9 +328,9 @@ static irqreturn_t afe4403_trigger_handl if (ret) goto err; - buffer[i++] = (rx[0] << 16) | - (rx[1] << 8) | - (rx[2]); + afe->buffer[i++] = (rx[0] << 16) | + (rx[1] << 8) | + (rx[2]); } /* Disable reading from the device */ @@ -337,7 +339,8 @@ static irqreturn_t afe4403_trigger_handl if (ret) goto err; - iio_push_to_buffers_with_timestamp(indio_dev, buffer, pf->timestamp); + iio_push_to_buffers_with_timestamp(indio_dev, afe->buffer, + pf->timestamp); err: iio_trigger_notify_done(indio_dev->trig); From patchwork Mon Jul 20 15:35:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237539 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2123934ilg; Mon, 20 Jul 2020 09:20:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwm+eNVyZ12uMGoNmxvyMD0N41zy/PFH7LBaMAXgUQ05qkSSOSXDUmwwmZOZ7ebCyugQ0Qs X-Received: by 2002:a50:fa07:: with SMTP id b7mr21579764edq.298.1595262024925; Mon, 20 Jul 2020 09:20:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595262024; cv=none; d=google.com; s=arc-20160816; b=LOMZqnmmf7cJNG9C2xnJwTdg0R3Y3v53lxKCGbnu2NczO7hBL+65iXWmDuKg0hIu/k SrhvWvjCEZuAMlS1XRZSgXgp8EXe3G5Wt5MtcbVwpOqTZm1bSQWr835omUy74VNoX9O2 4xIs6TVNMvJSJEo6jKbU+XBWfHHx3NV9pfKu5Pw5DXYhm6GEfI4//3iCRm44sGd7s0aH eBUXlBHxLC7b2LEu5eugg+/wrcIZ2cJGl9f1wFfUx1vpqwXpy8fZuFn5gJbi7E6fe1JF xv+p1VhjCaATS3vVTGu6e47UHe/dTXqWPyuGuT45oaLJcaSKPuaWjDq+WszaTOWcOp3c egGQ== 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=bg1QsSJ+1PnVYtnO+4KbjyPf/NMpr4oRz1r6haFyT7M=; b=iB04ndtqr4SMY6eZ2VRSChfYSrlVtfK0HY+C1ewF0XwCwnOz7+9DgnDtSgC3xVX24r 3qrwAe/nm4q28H0F6OLE6cW2spZHiHnGmWJEx/ahCEsXpr3W23al3mE7lw8AGMH+qCpt OMdKeV23fqUP+kxPGvlQ/a7NybTVWb8UfEecJGmljw5w+AqEc2zyIrL+chl8lyo9NeQg wRD+iuIJV8eH2FeFk2z4H524s4jiZu0DLP27g5QmvGh+qyFszw8zulVtQh0r5uUVwBKR 0sZBLtW9iRlQalaDvIi1e/pq9p44AbaEERDuxh745nCo/fG+4jOq137dgXXbiMWeg0/h K8PA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Dk+TabjI; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s4si10573263eja.517.2020.07.20.09.20.24; Mon, 20 Jul 2020 09:20:24 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Dk+TabjI; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732720AbgGTQKQ (ORCPT + 15 others); Mon, 20 Jul 2020 12:10:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:48674 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387647AbgGTQKP (ORCPT ); Mon, 20 Jul 2020 12:10:15 -0400 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 367872064B; Mon, 20 Jul 2020 16:10:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261414; bh=OrUqV8JJjkoxK8FuCM07uleGXeKVco3gz7e0rfHRBo0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Dk+TabjISWf+jQvVHxUpUH4insW+w74SbeN3oj+FMUiaXcfU8GFCcu/xsJkDFZbL/ +ERkAvS1s0WWKz2NRidAvMqkjcLJETK1LRdX89b204LhWloEWgSydDUJbia5YCzbBn oh+/2SCPuBbKWkzQewVDHs7euP32RWhyoTdmzuTk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lars-Peter Clausen , Jonathan Cameron , "Andrew F. Davis" , Sasha Levin Subject: [PATCH 5.7 077/244] iio:health:afe4404 Fix timestamp alignment and prevent data leak. Date: Mon, 20 Jul 2020 17:35:48 +0200 Message-Id: <20200720152829.503117733@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jonathan Cameron [ Upstream commit f88ecccac4be348bbcc6d056bdbc622a8955c04d ] One of a class of bugs pointed out by Lars in a recent review. iio_push_to_buffers_with_timestamp assumes the buffer used is aligned to the size of the timestamp (8 bytes). This is not guaranteed in this driver which uses a 40 byte array of smaller elements on the stack. As Lars also noted this anti pattern can involve a leak of data to userspace and that indeed can happen here. We close both issues by moving to a suitable structure in the iio_priv() data with alignment explicitly requested. This data is allocated with kzalloc so no data can leak appart from previous readings. Fixes: 87aec56e27ef ("iio: health: Add driver for the TI AFE4404 heart monitor") Reported-by: Lars-Peter Clausen Signed-off-by: Jonathan Cameron Acked-by: Andrew F. Davis Signed-off-by: Jonathan Cameron Signed-off-by: Sasha Levin --- drivers/iio/health/afe4404.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -- 2.25.1 diff --git a/drivers/iio/health/afe4404.c b/drivers/iio/health/afe4404.c index e728bbb21ca88..cebb1fd4d0b15 100644 --- a/drivers/iio/health/afe4404.c +++ b/drivers/iio/health/afe4404.c @@ -83,6 +83,7 @@ static const struct reg_field afe4404_reg_fields[] = { * @regulator: Pointer to the regulator for the IC * @trig: IIO trigger for this device * @irq: ADC_RDY line interrupt number + * @buffer: Used to construct a scan to push to the iio buffer. */ struct afe4404_data { struct device *dev; @@ -91,6 +92,7 @@ struct afe4404_data { struct regulator *regulator; struct iio_trigger *trig; int irq; + s32 buffer[10] __aligned(8); }; enum afe4404_chan_id { @@ -328,17 +330,17 @@ static irqreturn_t afe4404_trigger_handler(int irq, void *private) struct iio_dev *indio_dev = pf->indio_dev; struct afe4404_data *afe = iio_priv(indio_dev); int ret, bit, i = 0; - s32 buffer[10]; for_each_set_bit(bit, indio_dev->active_scan_mask, indio_dev->masklength) { ret = regmap_read(afe->regmap, afe4404_channel_values[bit], - &buffer[i++]); + &afe->buffer[i++]); if (ret) goto err; } - iio_push_to_buffers_with_timestamp(indio_dev, buffer, pf->timestamp); + iio_push_to_buffers_with_timestamp(indio_dev, afe->buffer, + pf->timestamp); err: iio_trigger_notify_done(indio_dev->trig); From patchwork Mon Jul 20 15:35:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237518 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2115433ilg; Mon, 20 Jul 2020 09:10:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxlexgfJKWp6F8SPeGlCTOOlr87cuZsGK1PtILJKPUhrOCwaUuWY6CB+mb/1Zmzru1QPwxc X-Received: by 2002:aa7:c450:: with SMTP id n16mr21644838edr.53.1595261425807; Mon, 20 Jul 2020 09:10:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261425; cv=none; d=google.com; s=arc-20160816; b=Bi4CzS5F1jMUiLFakZU318TT3z1s1ViUlQGwaF92nbP8+SfenAJPW+Rm2hMioyUEXP 3jx0uIQ1MxKb8TbNzkFkI8J53equR9M8Hjqa+WAmv8fHjZg0mwY47HaXayjkZXvrI24v pO1oheK5chOmcvJXNR8IJRiuqeAZcZm39OkSHnnbT+9nC67Zit1X1PPpE1wpgh+2m6jg AXlGUn5/6LLDqTEAEKNoZl0sgc/drp6qTR1LT+CoenhniJQrdCPpV04lcB+sVk+uj2Z6 Z7+idKucs9jLXkAYy8QTzqAlEvObmmjCffeEGuipuaSc7EHGRiHB9c57y/POJ8EFyhr0 hrfQ== 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=xrhiwO+2ZWmowqyBlxmfs93rvxbYvEXh/u25f+KTvwo=; b=ARos0px6Wcwuw1lVZqce4neSNM9gp8FEjFab9dlxHE4zQWFfp1WmtJtfH2LCxWK3Yk MJqjOF7J0tFT4PIIeM4H+XnpPVQJPyjMmboyjOLAdFDSeNoM10kwxWsRM2IzInC/Wdtx ELXqJ7rsz11sANaM2Der9JCFl/3gFjc9aPBEkAPnrhnezKOe8JgYLOiGkFO3z6S6DPsi ZEBcNNMOZ/t3lbnpIbyui34/fONYEiGn2C/5FHjMtMZDAMGnYiDjeNleyZWpjZcHhbop sFI9Ovn7haUy3i5RZf1P3bDS93GvSPMnoHTuIMv7ZE1L7mInibS0W++UmduIAW2TNGix 1LnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OhFXzqdt; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c6si11042168edv.311.2020.07.20.09.10.25; Mon, 20 Jul 2020 09:10:25 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=OhFXzqdt; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733267AbgGTQKY (ORCPT + 15 others); Mon, 20 Jul 2020 12:10:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:48880 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731840AbgGTQKX (ORCPT ); Mon, 20 Jul 2020 12:10:23 -0400 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 335FA2065E; Mon, 20 Jul 2020 16:10:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261422; bh=ztvvJNc23Tfq8oh061M+xvD+2X0usFBKy9lq8ciHcC0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OhFXzqdt8UlsfrfLlGz2CE/4i6NTvsD3IsNK2C60t3tkHi6L2dC4QMAK2NHGgsJns o/6rkj2zv4vIW0KJxqSaM6Igqi4Ug4MqjOWnHlVWZvK7YbIlMn9uHUYGIaZtF+R2Xa T/58wnqAevBltMtRBZGaaImIEfg0PWPfbdQF0xpI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Peter Ujfalusi , Vinod Koul , Sasha Levin Subject: [PATCH 5.7 080/244] dmaengine: ti: k3-udma: Use correct node to read "ti, udma-atype" Date: Mon, 20 Jul 2020 17:35:51 +0200 Message-Id: <20200720152829.648727707@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Peter Ujfalusi [ Upstream commit 9f2f3ce3daed229eecf647acac44defbdee1f7c0 ] The "ti,udma-atype" property is expected in the UDMA node and not in the parent navss node. Fixes: 0ebcf1a274c5 ("dmaengine: ti: k3-udma: Implement support for atype (for virtualization)") Signed-off-by: Peter Ujfalusi Link: https://lore.kernel.org/r/20200527065357.30791-1-peter.ujfalusi@ti.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/dma/ti/k3-udma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.25.1 diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index a90e154b0ae0d..baf7ab64f1d7d 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -3609,7 +3609,7 @@ static int udma_probe(struct platform_device *pdev) return ret; } - ret = of_property_read_u32(navss_node, "ti,udma-atype", &ud->atype); + ret = of_property_read_u32(dev->of_node, "ti,udma-atype", &ud->atype); if (!ret && ud->atype > 2) { dev_err(dev, "Invalid atype: %u\n", ud->atype); return -EINVAL; From patchwork Mon Jul 20 15:35:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237512 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2114347ilg; Mon, 20 Jul 2020 09:09:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcbPtcCpc6K2HLQSmQU+K9PmYy1euzYic9D5D9M7AWjtnibDFUz0PfLRPZTFQjh2mHLMrN X-Received: by 2002:aa7:dd10:: with SMTP id i16mr22628656edv.227.1595261350831; Mon, 20 Jul 2020 09:09:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261350; cv=none; d=google.com; s=arc-20160816; b=JKTDzskdE1sZG8gxDCMbRAczZmAIQ3XVjqIuOpVu799n23PgubJAYh2F7kcJ6CGQrW n0Bn7f0zQidMd/w+itQrccG6gVUTTl7+MrcamoIMt3yJG0nOkZGheZvGFrOWYigmWXOY SimZ+Ih3zBXidn1xFafml2wWeHP4fI+YUCz05lU/mbtTd8IqVgF0JTJD6PInp3v/zfz6 szcUJvAGnqRnIa2RsHqKi7rdL96IzbUO3J0l9ptsNJKDfwN4ccKpcSHrCBFMQSJB256k XIdz4Ru8KZ8/87pMxPqz97WER9M2m4OXhSTO6d3avRvZlPvJiuFkOJF34kWpuHo284VN GHGw== 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=Vc+wC6hnnQ3a0k/dpA6J8TDjltFpVPBhohRYN/OG8N0=; b=V5mHhmH0Ux9d70wc9ThgkaR2ZjMw2Q/bJubzsliHX+wOHHdAOmM5j++JnicdiR/mVQ jQ0VgFYKSmWZ3b+GXe2OFrjHQm6j1T7EmHRTHAOZ9AwQxS3tSE6yjNrhI+7CCQzcOYl4 dtW7VrSf3WeRQU3SVUnmvrpyaQnuqr7z+tclfn/UfFWiP9ez4Pxy0wogueVWhzaxJDd5 GjxiL5Szv0tDAtONmkJAbepL17LCzLS4rLIn6A1S4fQNmZrYmY7KWBuB4nVB6TsJt9Fu sIo4vz7lT2ceyTtlwjh0VixeAFThhfaQIwtjgdXU+AQ/Nl3WZfqrr5zM/pPW3cU7rikc TCfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JSXrEGdD; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i9si10785724eds.105.2020.07.20.09.09.10; Mon, 20 Jul 2020 09:09:10 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JSXrEGdD; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733109AbgGTQJJ (ORCPT + 15 others); Mon, 20 Jul 2020 12:09:09 -0400 Received: from mail.kernel.org ([198.145.29.99]:46842 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387486AbgGTQJG (ORCPT ); Mon, 20 Jul 2020 12:09:06 -0400 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 DDDBB206E9; Mon, 20 Jul 2020 16:09:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261345; bh=iD4Sr9OwlsNAX3ujfe/kkTFXiAMIi4ON05yukDyDDUE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JSXrEGdDgJLLP0/ZAGfTkqDnE8WL+6CPsU13YTcow1Xc4mlnyz8vxRmv777xuJ8Pr uZrX5TvkCr12hERUUZpXA3rF0rMoJF8lOZS79116A5ZTmS899dBSaS5Q2Vt1vffgva xHxHD3ajQ/9FqYE8DR1uXxtjmzSekbF9QZLQefFQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tomi Valkeinen , Peter Ujfalusi , Vinod Koul , Sasha Levin Subject: [PATCH 5.7 083/244] dmaengine: ti: k3-udma: Fix delayed_work usage for tx drain workaround Date: Mon, 20 Jul 2020 17:35:54 +0200 Message-Id: <20200720152829.789699554@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Peter Ujfalusi [ Upstream commit d964d5ff68dba21b53368656adec3fb5f50426bb ] INIT_DELAYED_WORK_ONSTACK() must be used with on-stack delayed work, which is not the case here. Use normal delayed_work for the channels instead. Fixes: 25dcb5dd7b7c ("dmaengine: ti: New driver for K3 UDMA") Reported-by: Tomi Valkeinen Signed-off-by: Peter Ujfalusi Link: https://lore.kernel.org/r/20200618114004.6268-1-peter.ujfalusi@ti.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/dma/ti/k3-udma.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- 2.25.1 diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c index baf7ab64f1d7d..9760d67aa612a 100644 --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -1925,8 +1925,6 @@ static int udma_alloc_chan_resources(struct dma_chan *chan) udma_reset_rings(uc); - INIT_DELAYED_WORK_ONSTACK(&uc->tx_drain.work, - udma_check_tx_completion); return 0; err_irq_free: @@ -3038,7 +3036,6 @@ static void udma_free_chan_resources(struct dma_chan *chan) } cancel_delayed_work_sync(&uc->tx_drain.work); - destroy_delayed_work_on_stack(&uc->tx_drain.work); if (uc->irq_num_ring > 0) { free_irq(uc->irq_num_ring, uc); @@ -3727,6 +3724,7 @@ static int udma_probe(struct platform_device *pdev) tasklet_init(&uc->vc.task, udma_vchan_complete, (unsigned long)&uc->vc); init_completion(&uc->teardown_completed); + INIT_DELAYED_WORK(&uc->tx_drain.work, udma_check_tx_completion); } ret = dma_async_device_register(&ud->ddev); From patchwork Mon Jul 20 15:35:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237515 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2114465ilg; Mon, 20 Jul 2020 09:09:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx6aS0vzUMmFGPifnylNAPET4HJQGT3K7bTs4gF2JLkveLsotZ5w7B3/PR7CwuH+jOWxhiC X-Received: by 2002:a17:906:c056:: with SMTP id bm22mr22200800ejb.444.1595261360024; Mon, 20 Jul 2020 09:09:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261360; cv=none; d=google.com; s=arc-20160816; b=QJbCmWvdKAbdebHJEvlYmiVEelkx++n+hli9j2uYqRHkr4xRC7FPVPkWlt5S0q9DlB VGNiig0sGSNA6mbebWn++/agWs84VBnFrgHOc14//XVc0hlsbIL4U94wHLxHseq1oX/P haUcKxnPs6Tp2QYPhvYwXM4/FDCp2rLfAn+Ml1yCZgzINoKa3ttUEwzusXSouRXmYo0U nElnyHANCkzpRa/Y7/hdPiKjCbzZ24EGC1di1SoQiO1uMTo+ekEGhMhTdbg+o4gHJV9g adygjLxVvjL8vXFrpLQi4kIiwsy5IsbeMKDKp44V4Y3h1s5o+XC+wtAtAjoWMTDL3gwj wOTQ== 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=K+H0JuxhDNu+ziAmzWKPXzQN65jQO0G6IieDV/YThGE=; b=hmmmjD+Kji2pN+Wjv/6wyMdcOlr83f77Q3OAOcgVULLWn+0m04nsJ2/3e/4LIF2rhm rTwMmQm5qTNAecKHncf/QxVhNX5Sh4LCZb7FLMxzT1wSFTqVYKyzy3b0LgW8jZGqTIjs OCveaSsdM5zgsAb0E0qNYXNW8eXzspkvw3iz0SlWVW/kQw4StpoZX52+emmjTjYbtc4G 3zLclBlSfnHK3FMtfpQzY71DRFPMGguXhk5meChBra//FZJFqM7FO7nt1U+6gn/2DdPD vGNqLgJEbkrXrj0onLR0bQBjs94OvvHXqqfAxdhSC/DCp9ej+n6g8Q2WtGwQuFt1qEEt FQEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SFiWe8b0; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x6si10469835edr.185.2020.07.20.09.09.18; Mon, 20 Jul 2020 09:09:20 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SFiWe8b0; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387486AbgGTQJR (ORCPT + 15 others); Mon, 20 Jul 2020 12:09:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:47108 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387499AbgGTQJR (ORCPT ); Mon, 20 Jul 2020 12:09:17 -0400 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 27D422064B; Mon, 20 Jul 2020 16:09:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261356; bh=3teWVEPaloupJTd7mQW+Y7NsazRnxCyO/FYsPNSXKDo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SFiWe8b0OuNFkjDWxzX65xmpNLQdoS/Y8dVUoVlHE69CoZOSTm4Zh37m/UfzUCrRE Ib4fLrVqRIDKSugfRXyYI3reQKX0HVyJxC8adbYshlXs9yhvAgc9oGWdGG1g7bPa3H vSunCpLhC6TGUQhEoaEgYWLoTHyU7FIqhqScUvqw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jerome Brunet , Kevin Hilman , Neil Armstrong , Sasha Levin Subject: [PATCH 5.7 087/244] arm64: dts: meson: add missing gxl rng clock Date: Mon, 20 Jul 2020 17:35:58 +0200 Message-Id: <20200720152829.979762656@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jerome Brunet [ Upstream commit 95ca6f06dd4827ff63be5154120c7a8511cd9a41 ] The peripheral clock of the RNG is missing for gxl while it is present for gxbb. Fixes: 1b3f6d148692 ("ARM64: dts: meson-gx: add clock CLKID_RNG0 to hwrng node") Signed-off-by: Jerome Brunet Signed-off-by: Kevin Hilman Reviewed-by: Neil Armstrong Link: https://lore.kernel.org/r/20200617125346.1163527-1-jbrunet@baylibre.com Signed-off-by: Sasha Levin --- arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 5 +++++ 1 file changed, 5 insertions(+) -- 2.25.1 diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi index 259d863993905..887c43119e632 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -298,6 +298,11 @@ clkc: clock-controller { }; }; +&hwrng { + clocks = <&clkc CLKID_RNG0>; + clock-names = "core"; +}; + &i2c_A { clocks = <&clkc CLKID_I2C>; }; From patchwork Mon Jul 20 15:36:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237540 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2124197ilg; Mon, 20 Jul 2020 09:20:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxqX7sIFWrWJHgwX0FeHSk34QT+NahXItwuG7BG/DAT+pu7Vc95zrCED9fiYmLp+hp9+aEw X-Received: by 2002:a17:907:4003:: with SMTP id nj3mr20938101ejb.278.1595262044046; Mon, 20 Jul 2020 09:20:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595262044; cv=none; d=google.com; s=arc-20160816; b=A9USrEBsIikl0osTrx4jwS3fcRPgAjI7xHprD1VtPPJF9ARiea9xnEa5k4Fqu6hJ5u hd3tNwAOfjGyCPGs0YTt9C8vrbKnYBOrpz9Onry+A/Zxeb9mUpqfNPGt4HJB4CMap4rI YJMR6gDccIqrZVeEnZX5jgpawkRBH4wgx46VM3mjEuGU9mCfKXUdcU75pqGQFUTSmi+7 pLBJVDnxlCvla7Nl3eveC9+ZlGD4V97JYfe1S8hOVT5W1Kquf5O48LXJaONzA7oSRDJB yZ2YaHVd5heBSYblLYloT6+Sev371AdbvmCUkM+k05M2ECrBHwEK+sxjjYYo6tShMHQk TP1g== 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=iaWi5sR2G1WhlUTAECIPelg/poxP8qZrAMD5SmbPKEQ=; b=nJDK3FwcGLimDv0H6HnW8+VghAMFVwzrf85MmHmrMoCvOY92t0UB5CwoL3hFHfCpER YYGL7slEFIqgqspH28J1Wn4UD8MPTc6HTBl/z/FPftMeV7dAK85wNxzW7MYU1eZypJpU neo7DmUO6/62CCAe4J6cGshVkKM0six5vPD5lOoQERkVhyBgxUn3TeyxU19cD5Fvl448 4O6c5PlJ5EgRaTX0EurXRl6gIqeWcqLijNbzNAhXpRdwIWZoTwhiLGTkP8hRB550OarI Q15pfSViVZ236l4mWVjH1NF8hD8c/nFF1OHuvqMEJ9138M400aabQin1ohs5vyvj8F9d E1Eg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kZJOkTzb; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bl24si10295152ejb.602.2020.07.20.09.20.43; Mon, 20 Jul 2020 09:20:44 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kZJOkTzb; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387572AbgGTQJs (ORCPT + 15 others); Mon, 20 Jul 2020 12:09:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:47802 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733183AbgGTQJp (ORCPT ); Mon, 20 Jul 2020 12:09:45 -0400 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 DE89E2065E; Mon, 20 Jul 2020 16:09:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261384; bh=yOzak47EJ9Fo5F4o+e8MA+hzD4MsUtU/5HybLtvGEXA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kZJOkTzbt1GvFV7eae8TUS6GF9s/RHYUJ3WEe3MoJsOWLgkMX/rLRlY0esK6T0XDv Ct0LcdCfs96Y8FII51+Wkr1JojyDm1pqjO89nuM8ZoOP0I0CCj1Oa6nKJ+rdTInvMw 41sbURZfERFlQ9gpd95e6Bfx/LMr2XIgGEbsGOGg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Grygorii Strashko , Peter Ujfalusi , Vinod Koul , Sasha Levin Subject: [PATCH 5.7 096/244] dmaengine: dmatest: stop completed threads when running without set channel Date: Mon, 20 Jul 2020 17:36:07 +0200 Message-Id: <20200720152830.397707706@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Peter Ujfalusi [ Upstream commit fd17d1abce426b4224a916a242b57be94272771b ] The completed threads were not cleared and consequent run would result threads accumulating: echo 800000 > /sys/module/dmatest/parameters/test_buf_size echo 2000 > /sys/module/dmatest/parameters/timeout echo 50 > /sys/module/dmatest/parameters/iterations echo 1 > /sys/module/dmatest/parameters/max_channels echo "" > /sys/module/dmatest/parameters/channel [ 237.507265] dmatest: Added 1 threads using dma1chan2 echo 1 > /sys/module/dmatest/parameters/run [ 244.713360] dmatest: Started 1 threads using dma1chan2 [ 246.117680] dmatest: dma1chan2-copy0: summary 50 tests, 0 failures 2437.47 iops 977623 KB/s (0) echo 1 > /sys/module/dmatest/parameters/run [ 292.381471] dmatest: No channels configured, continue with any [ 292.389307] dmatest: Added 1 threads using dma1chan3 [ 292.394302] dmatest: Started 1 threads using dma1chan2 [ 292.399454] dmatest: Started 1 threads using dma1chan3 [ 293.800835] dmatest: dma1chan3-copy0: summary 50 tests, 0 failures 2624.53 iops 975014 KB/s (0) echo 1 > /sys/module/dmatest/parameters/run [ 307.301429] dmatest: No channels configured, continue with any [ 307.309212] dmatest: Added 1 threads using dma1chan4 [ 307.314197] dmatest: Started 1 threads using dma1chan2 [ 307.319343] dmatest: Started 1 threads using dma1chan3 [ 307.324492] dmatest: Started 1 threads using dma1chan4 [ 308.730773] dmatest: dma1chan4-copy0: summary 50 tests, 0 failures 2390.28 iops 965436 KB/s (0) Fixes: 6b41030fdc79 ("dmaengine: dmatest: Restore default for channel") Reported-by: Grygorii Strashko Signed-off-by: Peter Ujfalusi Link: https://lore.kernel.org/r/20200701101225.8607-1-peter.ujfalusi@ti.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/dma/dmatest.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.25.1 diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c index 0425984db118a..62d9825a49e9d 100644 --- a/drivers/dma/dmatest.c +++ b/drivers/dma/dmatest.c @@ -1168,6 +1168,8 @@ static int dmatest_run_set(const char *val, const struct kernel_param *kp) } else if (dmatest_run) { if (!is_threaded_test_pending(info)) { pr_info("No channels configured, continue with any\n"); + if (!is_threaded_test_run(info)) + stop_threaded_test(info); add_threaded_test(info); } start_threaded_tests(info); From patchwork Mon Jul 20 15:36:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237521 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2115743ilg; Mon, 20 Jul 2020 09:10:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyGTG7EFg6Xq81zAszOJ1SyXWdK0e0ysaMLXvOHW4L4oaFV7zo/IovlIAgwEUr6NSTGUnqV X-Received: by 2002:a50:8143:: with SMTP id 61mr22468301edc.202.1595261448194; Mon, 20 Jul 2020 09:10:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261448; cv=none; d=google.com; s=arc-20160816; b=BaIqNJSg+TRH38GYpsrfyx7LbarIdBEQymnJMH4lIbj0T7YJCB7ihEXUpH8X1HFn1T AV0UJO2AxRfqC120UuySYUXdqmWh6NZeISvigxLGHC1Q8f6w1ih6//QyVsl88sD6SSSD xLv1tB7IT87u4YjzO9oNJ7LjovJGLdsK3PcGPU4QLuKvlm63LttMUkPi1OgPV7cnpfWs fOpdihqTHwUodX7ECh4CYasBesHbJQ/lssGJTfEur4cOMQXfgqg0xWs2QHeI2OS2MR3W jMHQaNwDZ5OuYOfIv3pkjKlIQYKz0iBA51LuYzQoNwMrAKQ3SE3z+HhRA1+CCWfAQ7T8 6eJw== 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=PJPnmmg0Yr3Syntl2Cl/AN+vVq1tUnq7Xqs3FefKaC0=; b=JYsaIIRR+qPc2Yb1FOuVMXvJGxK0CX7Pa3mVB9fDKASIWlpIZV+T39Z66T0uGCGhoZ hPM2wk+n/j4XIilzezO7bbimeMyg1B4HQjBw3luPXArNPxeijIx3pIEzikzift2fM21z SM4jOn71fhDtDfCaBFbsWF0vu3LuS8KUbM0mnRb+zw81ei7CwaTtuyeKFO3oe05vjXWA Pv7WC6e1oZeLcLAcVcA1SR1WSUdveZtNGPxFUYpsYyGjmXJm6yVSVoOwEbZ5kSOh6CGa 7OP8Jn/wKTHJEX2R6puq8BFUAsASVAHUvuihFj5vz0OjnGy1guGddjBRvEu412MO6uf2 WyDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=KEHlGyYF; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dg12si10606898edb.81.2020.07.20.09.10.47; Mon, 20 Jul 2020 09:10:48 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=KEHlGyYF; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387685AbgGTQKp (ORCPT + 15 others); Mon, 20 Jul 2020 12:10:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:49458 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732796AbgGTQKp (ORCPT ); Mon, 20 Jul 2020 12:10:45 -0400 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 7649220684; Mon, 20 Jul 2020 16:10:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261445; bh=KRSfA+jnKhFwQqzGs3zFZ+9Ar3w5EbuRb+RO9Dsmcpc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KEHlGyYFVtR6sQia6c4NvFLnAnBVO4hyqlgBfF3AdCT6LJiWMZOk5Po0WbIox2LJy yMW5nVsiEgWMpVHPPjOwr4t/KivOItSEOxUCtOsgmF4cjFQiyFqhbXwIpXOQOFH3gD 0hk3dtFFYIPZ6D5UgUmFGfk7QUQIptR/7e6AXx0g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stephen Boyd , Srinivas Kandagatla , Bjorn Andersson Subject: [PATCH 5.7 119/244] soc: qcom: socinfo: add missing soc_id sysfs entry Date: Mon, 20 Jul 2020 17:36:30 +0200 Message-Id: <20200720152831.496783573@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Srinivas Kandagatla commit 27a344139c186889d742764d3c2a62b395949cef upstream. Looks like SoC ID is not exported to sysfs for some reason. This patch adds it! This is mostly used by userspace libraries like Snapdragon Neural Processing Engine (SNPE) SDK for checking supported SoC info. Fixes: efb448d0a3fc ("soc: qcom: Add socinfo driver") Reviewed-by: Stephen Boyd Signed-off-by: Srinivas Kandagatla Link: https://lore.kernel.org/r/20200319121418.5180-1-srinivas.kandagatla@linaro.org Signed-off-by: Bjorn Andersson Signed-off-by: Greg Kroah-Hartman --- drivers/soc/qcom/socinfo.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/soc/qcom/socinfo.c +++ b/drivers/soc/qcom/socinfo.c @@ -430,6 +430,8 @@ static int qcom_socinfo_probe(struct pla qs->attr.family = "Snapdragon"; qs->attr.machine = socinfo_machine(&pdev->dev, le32_to_cpu(info->id)); + qs->attr.soc_id = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%u", + le32_to_cpu(info->id)); qs->attr.revision = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%u.%u", SOCINFO_MAJOR(le32_to_cpu(info->ver)), SOCINFO_MINOR(le32_to_cpu(info->ver))); From patchwork Mon Jul 20 15:36:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237522 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2115787ilg; Mon, 20 Jul 2020 09:10:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfAsaqEJR/Ubb7ruTjOsvqZDIJZk0X+S6SBe0thEKEZEb4iPSiM8M27tJUTI1g4BldUnYW X-Received: by 2002:a17:906:1499:: with SMTP id x25mr20945025ejc.406.1595261450453; Mon, 20 Jul 2020 09:10:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261450; cv=none; d=google.com; s=arc-20160816; b=fPkDitCkWgB4yjGvGpctLz1+Ldc3S7EKdusf8yPtiu8QfWw3+wYuU+YYyIF9y+y1/D nT2SRzB5aRz/O8JELNCnaC3Pwz8IZidG7kiOQAxnZG/lOU98+i/Ytq53/aV69MPLzQl5 hEG0fJ/se6Zdwvxf0qtcZrflYbvGKEJdh6AOnzXhv8hqOv3acLcytYa93bNTQLOMTuDP CEa2EWkgoDBDTiYmjBcMuUQgqYNvtoUaUTcTnJrR0tHUhfG8ZDP6yHXKAJB/Dia1xluo 2ZsCMj09acnZKU62zu4iRNk7HrqaGWyz+f605LapbAF5dH7F3E2vzUOo/8FXuwNY9pp9 kv/g== 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=ZOydFUKvcmFnNX6l7fn6RoRIleMz6eEutpF6enFUVpU=; b=pHqq1qkLVEe0T0D4jQvi9Kyjqze7rnHACMfR++wvu6Envnib0CCt1O7Jq7rreW6SQm AeB3h+KqgBrgb4zDqxuHbxK7HCtIdagEGaOnmYm/95VhWZRrfK8Bms52OKRRzNIT4KfF 1ZFNX/d7g2UlwpYQ4fifYi51IKrZEz31cYRcDC/rWt5EVLhbhQmFqWXvrCiIUaYUdqFv fNFwd+wKrYMj3wz6TVkoHbABQ9fnht6LngxV7HNnn+R5spzUn4mjuNI1bk4suzmn+kzP 2U/rVqo0k44kC8McVM1tt4cdiX16f534xXjxPLWb+ltzuRTR1ndWJ7BEzYGtCUZxLmFF UJxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=bdtNEqAS; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n15si11522994eje.190.2020.07.20.09.10.50; Mon, 20 Jul 2020 09:10:50 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=bdtNEqAS; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732796AbgGTQKt (ORCPT + 15 others); Mon, 20 Jul 2020 12:10:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:49534 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387704AbgGTQKs (ORCPT ); Mon, 20 Jul 2020 12:10:48 -0400 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 7B0C320684; Mon, 20 Jul 2020 16:10:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261448; bh=KE6R2F8uuV0eRZb3TgQs0qWi4zwtTOolzKA25kcL3pE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bdtNEqASnJQFp8V8kBjiZ0qBbJX5/QDPt2UMZBSTqBaRAeQ7s3/NY32uWqHO9z3WX 7NlD5McoxfWDpgngPFubtVVwfAD+FEW/zFsL4BrSNH9fv1z5ILkHnnZdu9bwqVGXO+ Vo9+NKDyFap0LZWj1KKq/yecmAifQYpoTLtEyEE8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Peter Ujfalusi , Vinod Koul Subject: [PATCH 5.7 120/244] dmaengine: ti: k3-udma: Disable memcopy via MCU NAVSS on am654 Date: Mon, 20 Jul 2020 17:36:31 +0200 Message-Id: <20200720152831.544473667@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Peter Ujfalusi commit a4e688535a0829980d5ef1516c0713777a874c62 upstream. Trace of a test for DMA memcpy domains slipped into the glue layer commit. The memcpy support should be disabled on the MCU UDMAP. Fixes: d702419134133 ("dmaengine: ti: k3-udma: Add glue layer for non DMAengine users") Signed-off-by: Peter Ujfalusi Link: https://lore.kernel.org/r/20200327144228.11101-1-peter.ujfalusi@ti.com Signed-off-by: Vinod Koul Signed-off-by: Greg Kroah-Hartman --- drivers/dma/ti/k3-udma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/dma/ti/k3-udma.c +++ b/drivers/dma/ti/k3-udma.c @@ -3186,7 +3186,7 @@ static struct udma_match_data am654_main static struct udma_match_data am654_mcu_data = { .psil_base = 0x6000, - .enable_memcpy_support = true, /* TEST: DMA domains */ + .enable_memcpy_support = false, .statictr_z_mask = GENMASK(11, 0), .rchan_oes_offset = 0x2000, .tpl_levels = 2, From patchwork Mon Jul 20 15:36:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237523 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2117999ilg; Mon, 20 Jul 2020 09:13:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx8/aprfQ2QYjpmJtLv4ZSDJsrw0amqDWzXQeK6oAHSPDIvagrA4r/IN9IB/EY+Zrcb1e3V X-Received: by 2002:aa7:dacb:: with SMTP id x11mr20956942eds.280.1595261602942; Mon, 20 Jul 2020 09:13:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261602; cv=none; d=google.com; s=arc-20160816; b=vmeMldVGW1eMn/0g1YsCfgs7I1OGESwf5IQO8S/ja68TxPSoeULwxToA1j8LcjeBNJ 5GMowVnvcmaXtEW9OpjkgmxFZtdHOgwOLE6QnSPoBNKLJ+6eQJygd5+g2g5M/Ebo4g0a Yv+Deq/ITCGZaKSBNEujg3Y4qlaJdpM+1yxikQCyu5Pyx3EE2rKKRRQ2I8/cPq2uVHvF Un3x+H+wFdASn0nD2DOh0Xt7OOkMkiW1n3K67JvcCOJjbz3iMpd4EqJGlrRloiutFeuj APuAFwc/VTrOEP/zzvFdn41QWKf2MTI2rKGy2w9GD3+vn/9B7woCL8v3vn1NhIb1VuS7 1MWA== 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=SO/MWQKxfxkGp5nazSMtsh1VJMLEdT8DOYNls0nI7s8=; b=J0Rgr7JL0+/LXME6HlmElU0s28E8aKrTN3BlQ4ReUHLJUrSR4cB2iouIHKLCDzAohp /m/dj4eLgPn3fWjK7aIvAydGCv664Gt0H0WrchFrDow/34cn99CH5q4Oliq5onhsO+iu sOh/KNktfvhC6yD/uKgXH3+l2n1cULv/wHP/WIxZ5oNYBVGZfcDCD3kVhzT/blOTjfOJ mQxs0/dm4yQY5BvNmln1vLfh9CBcuJmMg7GtrWfQ45XCNRk8ahFRuUboIynAGfcVp6HP 76YazpZ8nIhobGohSau2mhBuQ6amOc2MZkWs6OJAFTSg64stC0wB05ufH7akJW1R+FAv HTMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=usiK8KhA; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cx20si9964477edb.568.2020.07.20.09.13.22; Mon, 20 Jul 2020 09:13:22 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=usiK8KhA; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387777AbgGTQNV (ORCPT + 15 others); Mon, 20 Jul 2020 12:13:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:53160 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732072AbgGTQNS (ORCPT ); Mon, 20 Jul 2020 12:13:18 -0400 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 01D162065E; Mon, 20 Jul 2020 16:13:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261597; bh=DdTdjg0Gk5lifM3rDmsGOBqulmNd1kG27YSq2pSijzc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=usiK8KhA9zNMh3J9tn0D4/75oiFORego/yDrMRAs3XRpHg35elK7Kr3WWrcfUnRIN oEn87vWlfetjO3RjIBiym4+0XILGT5y7PCmoZPzZFIzeMHl5NSQkLHlyrfeC5ZUubi QxseDz8p5wNKpPqvbqCGp0UYwmmrwd9EZWfzwmOg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vinod Koul , Stephen Boyd Subject: [PATCH 5.7 143/244] clk: qcom: gcc: Add GPU and NPU clocks for SM8150 Date: Mon, 20 Jul 2020 17:36:54 +0200 Message-Id: <20200720152832.653270549@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Vinod Koul commit f73a4230d5bbc8fc7e1a2479ac997f786111c7bb upstream. Add the GPU and NPU clocks for SM8150. They were missed in earlier addition of clock driver. Fixes: 2a1d7eb854bb ("clk: qcom: gcc: Add global clock controller driver for SM8150") Signed-off-by: Vinod Koul Link: https://lkml.kernel.org/r/20200513065420.32735-1-vkoul@kernel.org Signed-off-by: Stephen Boyd Signed-off-by: Greg Kroah-Hartman --- drivers/clk/qcom/gcc-sm8150.c | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) --- a/drivers/clk/qcom/gcc-sm8150.c +++ b/drivers/clk/qcom/gcc-sm8150.c @@ -1616,6 +1616,36 @@ static struct clk_branch gcc_gpu_cfg_ahb }, }; +static struct clk_branch gcc_gpu_gpll0_clk_src = { + .clkr = { + .enable_reg = 0x52004, + .enable_mask = BIT(15), + .hw.init = &(struct clk_init_data){ + .name = "gcc_gpu_gpll0_clk_src", + .parent_hws = (const struct clk_hw *[]){ + &gpll0.clkr.hw }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, + .ops = &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_gpu_gpll0_div_clk_src = { + .clkr = { + .enable_reg = 0x52004, + .enable_mask = BIT(16), + .hw.init = &(struct clk_init_data){ + .name = "gcc_gpu_gpll0_div_clk_src", + .parent_hws = (const struct clk_hw *[]){ + &gcc_gpu_gpll0_clk_src.clkr.hw }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, + .ops = &clk_branch2_ops, + }, + }, +}; + static struct clk_branch gcc_gpu_iref_clk = { .halt_reg = 0x8c010, .halt_check = BRANCH_HALT, @@ -1698,6 +1728,36 @@ static struct clk_branch gcc_npu_cfg_ahb }, }; +static struct clk_branch gcc_npu_gpll0_clk_src = { + .clkr = { + .enable_reg = 0x52004, + .enable_mask = BIT(18), + .hw.init = &(struct clk_init_data){ + .name = "gcc_npu_gpll0_clk_src", + .parent_hws = (const struct clk_hw *[]){ + &gpll0.clkr.hw }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, + .ops = &clk_branch2_ops, + }, + }, +}; + +static struct clk_branch gcc_npu_gpll0_div_clk_src = { + .clkr = { + .enable_reg = 0x52004, + .enable_mask = BIT(19), + .hw.init = &(struct clk_init_data){ + .name = "gcc_npu_gpll0_div_clk_src", + .parent_hws = (const struct clk_hw *[]){ + &gcc_npu_gpll0_clk_src.clkr.hw }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, + .ops = &clk_branch2_ops, + }, + }, +}; + static struct clk_branch gcc_npu_trig_clk = { .halt_reg = 0x4d00c, .halt_check = BRANCH_VOTED, @@ -3374,12 +3434,16 @@ static struct clk_regmap *gcc_sm8150_clo [GCC_GP3_CLK] = &gcc_gp3_clk.clkr, [GCC_GP3_CLK_SRC] = &gcc_gp3_clk_src.clkr, [GCC_GPU_CFG_AHB_CLK] = &gcc_gpu_cfg_ahb_clk.clkr, + [GCC_GPU_GPLL0_CLK_SRC] = &gcc_gpu_gpll0_clk_src.clkr, + [GCC_GPU_GPLL0_DIV_CLK_SRC] = &gcc_gpu_gpll0_div_clk_src.clkr, [GCC_GPU_IREF_CLK] = &gcc_gpu_iref_clk.clkr, [GCC_GPU_MEMNOC_GFX_CLK] = &gcc_gpu_memnoc_gfx_clk.clkr, [GCC_GPU_SNOC_DVM_GFX_CLK] = &gcc_gpu_snoc_dvm_gfx_clk.clkr, [GCC_NPU_AT_CLK] = &gcc_npu_at_clk.clkr, [GCC_NPU_AXI_CLK] = &gcc_npu_axi_clk.clkr, [GCC_NPU_CFG_AHB_CLK] = &gcc_npu_cfg_ahb_clk.clkr, + [GCC_NPU_GPLL0_CLK_SRC] = &gcc_npu_gpll0_clk_src.clkr, + [GCC_NPU_GPLL0_DIV_CLK_SRC] = &gcc_npu_gpll0_div_clk_src.clkr, [GCC_NPU_TRIG_CLK] = &gcc_npu_trig_clk.clkr, [GCC_PCIE0_PHY_REFGEN_CLK] = &gcc_pcie0_phy_refgen_clk.clkr, [GCC_PCIE1_PHY_REFGEN_CLK] = &gcc_pcie1_phy_refgen_clk.clkr, From patchwork Mon Jul 20 15:36:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237526 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2118045ilg; Mon, 20 Jul 2020 09:13:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9DxP+6GRdPTLNw+C7YqrM2ilJPvi0iiPDKMCYpCtXfyIi7fFTEBV5A8B+eXEnfUe4g6s0 X-Received: by 2002:a17:906:da0f:: with SMTP id fi15mr20631422ejb.237.1595261605488; Mon, 20 Jul 2020 09:13:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261605; cv=none; d=google.com; s=arc-20160816; b=F6EGbNziI3zycpG+gQqcqtrIs1lbKaqTBSQA08BuzCrJJL/loRVvuvcL0xL3a/sEMm yOKNZADqD7rXflzR21rdjDDWDdWab86kPOBN0plZYuVegGL2QwAH4wiCvzKdDOr/5uKZ doNWedFP0qsBVEBTTBcTRpuL8sjqBt2Ao1AgcbbK4rolRLS1vtc33RnmjiGMIgPRnjB/ 8QqykNe44UIzVoSy0REWzqqgaO20chGQf4ZgERQROpwB2qXwAxSRlKNOHy1oEr2sEhXR s5smVH6WZWHrUdY9hPVDc6l3zdaxdW0Qfuu6iMPzihyJj9IrqBjZgNGRJY0MefpcaA3T lb3A== 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=ENwj8rhBZB9Mz+lBKHTGh9n8DaCYnnMP/9FeywMMPTo=; b=Wo9K9gOlKohM495+Er2Mk4G67OzlEKP8YaEWtv5NqGVayZjz68Ijrv8xUibYAmsEjC GLPkLHcCv6cpDhexqn3e4wb2NzdUOi8xQWoaPKx9LyOAyEvAJ2ikudNtR0K3RjYcnC1M LajGlManA4BuIGD9ycWQF6M5ph7Jy3EsUcHD2zNj4SDhlZi916lS1HrMbOxfLSYTl6TZ NArn4Jek+7Pzdnb3wFTte/JnZuPzY80/P5p2X5MYPvH+fbOx/DyR7Roz2j81fbjRwCgH WymzH4Y1+PJiLxILVSET6I1Ym5qbE/D9giLeUNARR9r00ADh595OABgBCEpIvDDSLegC eZ7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=e8uDKXL5; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dc14si10206310edb.240.2020.07.20.09.13.24; Mon, 20 Jul 2020 09:13:25 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=e8uDKXL5; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388107AbgGTQNW (ORCPT + 15 others); Mon, 20 Jul 2020 12:13:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:53242 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387468AbgGTQNV (ORCPT ); Mon, 20 Jul 2020 12:13:21 -0400 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 7C5C72064B; Mon, 20 Jul 2020 16:13:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261600; bh=GwixDRIoyH/k1UNYUFK1YYn4Esbpdb5Z0b8IK21pRu0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=e8uDKXL5FLsUr3vsFnBbkhba0ELlMJRR62xLnsBgocPE6CFSaUkPFcH6R+ezy8Q3J TknjDOrfO09i56KvUlei9ZBN9CebZufR2Ai6e9Zio4QwjTQKe4KWBK/PtbmjwDCW72 oioOLmSUObla+LKyG7+9YqBWbsSYbQZ3OKF1wjcA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vinod Koul , Stephen Boyd Subject: [PATCH 5.7 144/244] clk: qcom: gcc: Add missing UFS clocks for SM8150 Date: Mon, 20 Jul 2020 17:36:55 +0200 Message-Id: <20200720152832.700697063@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Vinod Koul commit 37c72e4cae37f0dace1abb3711ede7fbc6d0862a upstream. Add the missing ufs card and ufs phy clocks for SM8150. They were missed in earlier addition of clock driver. Fixes: 2a1d7eb854bb ("clk: qcom: gcc: Add global clock controller driver for SM8150") Signed-off-by: Vinod Koul Link: https://lkml.kernel.org/r/20200513065420.32735-2-vkoul@kernel.org Signed-off-by: Stephen Boyd Signed-off-by: Greg Kroah-Hartman --- drivers/clk/qcom/gcc-sm8150.c | 84 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) --- a/drivers/clk/qcom/gcc-sm8150.c +++ b/drivers/clk/qcom/gcc-sm8150.c @@ -2872,6 +2872,45 @@ static struct clk_branch gcc_ufs_card_ph }, }; +/* external clocks so add BRANCH_HALT_SKIP */ +static struct clk_branch gcc_ufs_card_rx_symbol_0_clk = { + .halt_check = BRANCH_HALT_SKIP, + .clkr = { + .enable_reg = 0x7501c, + .enable_mask = BIT(0), + .hw.init = &(struct clk_init_data){ + .name = "gcc_ufs_card_rx_symbol_0_clk", + .ops = &clk_branch2_ops, + }, + }, +}; + +/* external clocks so add BRANCH_HALT_SKIP */ +static struct clk_branch gcc_ufs_card_rx_symbol_1_clk = { + .halt_check = BRANCH_HALT_SKIP, + .clkr = { + .enable_reg = 0x750ac, + .enable_mask = BIT(0), + .hw.init = &(struct clk_init_data){ + .name = "gcc_ufs_card_rx_symbol_1_clk", + .ops = &clk_branch2_ops, + }, + }, +}; + +/* external clocks so add BRANCH_HALT_SKIP */ +static struct clk_branch gcc_ufs_card_tx_symbol_0_clk = { + .halt_check = BRANCH_HALT_SKIP, + .clkr = { + .enable_reg = 0x75018, + .enable_mask = BIT(0), + .hw.init = &(struct clk_init_data){ + .name = "gcc_ufs_card_tx_symbol_0_clk", + .ops = &clk_branch2_ops, + }, + }, +}; + static struct clk_branch gcc_ufs_card_unipro_core_clk = { .halt_reg = 0x75058, .halt_check = BRANCH_HALT, @@ -3052,6 +3091,45 @@ static struct clk_branch gcc_ufs_phy_phy }, }; +/* external clocks so add BRANCH_HALT_SKIP */ +static struct clk_branch gcc_ufs_phy_rx_symbol_0_clk = { + .halt_check = BRANCH_HALT_SKIP, + .clkr = { + .enable_reg = 0x7701c, + .enable_mask = BIT(0), + .hw.init = &(struct clk_init_data){ + .name = "gcc_ufs_phy_rx_symbol_0_clk", + .ops = &clk_branch2_ops, + }, + }, +}; + +/* external clocks so add BRANCH_HALT_SKIP */ +static struct clk_branch gcc_ufs_phy_rx_symbol_1_clk = { + .halt_check = BRANCH_HALT_SKIP, + .clkr = { + .enable_reg = 0x770ac, + .enable_mask = BIT(0), + .hw.init = &(struct clk_init_data){ + .name = "gcc_ufs_phy_rx_symbol_1_clk", + .ops = &clk_branch2_ops, + }, + }, +}; + +/* external clocks so add BRANCH_HALT_SKIP */ +static struct clk_branch gcc_ufs_phy_tx_symbol_0_clk = { + .halt_check = BRANCH_HALT_SKIP, + .clkr = { + .enable_reg = 0x77018, + .enable_mask = BIT(0), + .hw.init = &(struct clk_init_data){ + .name = "gcc_ufs_phy_tx_symbol_0_clk", + .ops = &clk_branch2_ops, + }, + }, +}; + static struct clk_branch gcc_ufs_phy_unipro_core_clk = { .halt_reg = 0x77058, .halt_check = BRANCH_HALT, @@ -3548,6 +3626,9 @@ static struct clk_regmap *gcc_sm8150_clo [GCC_UFS_CARD_PHY_AUX_CLK_SRC] = &gcc_ufs_card_phy_aux_clk_src.clkr, [GCC_UFS_CARD_PHY_AUX_HW_CTL_CLK] = &gcc_ufs_card_phy_aux_hw_ctl_clk.clkr, + [GCC_UFS_CARD_RX_SYMBOL_0_CLK] = &gcc_ufs_card_rx_symbol_0_clk.clkr, + [GCC_UFS_CARD_RX_SYMBOL_1_CLK] = &gcc_ufs_card_rx_symbol_1_clk.clkr, + [GCC_UFS_CARD_TX_SYMBOL_0_CLK] = &gcc_ufs_card_tx_symbol_0_clk.clkr, [GCC_UFS_CARD_UNIPRO_CORE_CLK] = &gcc_ufs_card_unipro_core_clk.clkr, [GCC_UFS_CARD_UNIPRO_CORE_CLK_SRC] = &gcc_ufs_card_unipro_core_clk_src.clkr, @@ -3565,6 +3646,9 @@ static struct clk_regmap *gcc_sm8150_clo [GCC_UFS_PHY_PHY_AUX_CLK] = &gcc_ufs_phy_phy_aux_clk.clkr, [GCC_UFS_PHY_PHY_AUX_CLK_SRC] = &gcc_ufs_phy_phy_aux_clk_src.clkr, [GCC_UFS_PHY_PHY_AUX_HW_CTL_CLK] = &gcc_ufs_phy_phy_aux_hw_ctl_clk.clkr, + [GCC_UFS_PHY_RX_SYMBOL_0_CLK] = &gcc_ufs_phy_rx_symbol_0_clk.clkr, + [GCC_UFS_PHY_RX_SYMBOL_1_CLK] = &gcc_ufs_phy_rx_symbol_1_clk.clkr, + [GCC_UFS_PHY_TX_SYMBOL_0_CLK] = &gcc_ufs_phy_tx_symbol_0_clk.clkr, [GCC_UFS_PHY_UNIPRO_CORE_CLK] = &gcc_ufs_phy_unipro_core_clk.clkr, [GCC_UFS_PHY_UNIPRO_CORE_CLK_SRC] = &gcc_ufs_phy_unipro_core_clk_src.clkr, From patchwork Mon Jul 20 15:37:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237527 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2118632ilg; Mon, 20 Jul 2020 09:14:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfP/wixyNx4PH8NYMJvK+/5ANI16o3eZl/eEQwttFqN/3gMLNl5eBqa3nj4c/xDl3T/3kR X-Received: by 2002:a17:906:950c:: with SMTP id u12mr20929043ejx.37.1595261646302; Mon, 20 Jul 2020 09:14:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261646; cv=none; d=google.com; s=arc-20160816; b=waFpotQAD18YYYwRwHfs7pH+AjBCjPouT8wlXKvRCxL0wM222DU8DWW1w2ZF7p28Jr bKGUqncqJhNCQr86GdjC20kMdJOXvaitlHSFZ4Ico1/iLMsPRwTWlDWmyfYefB7zieAd cn9ZyrD6a3+Cmqtp1LZyPBLiGgg3F3bOaJMU2pfKw0RIrUkYwVfV0fPZsbjP+ORXdY8E A7bH0GdH8Jw74buLvwb5oGJx2vgeB02ks4K52CminTRl8O1wLf49uSyqM5QjqpvWnI99 VcSLhmN2GGHpFO2aNnJASwGs/vnB9VFfyQDRzNygCLvWNb4dNLEJWQFSOnpNbs4LlGgm P4GA== 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=GzxJwN6H5DHx0KlAEbl7URqO1X95dpTT8UhLNayim5U=; b=Izy36RIQ+SEMjN0SJGrtSrLIShBmBswBR4k4Wq6XCf/NSsqpH+XnMtTIPO2dCQ17h/ v5ds7p9cAKClqktF74NAWRBgqkUjyu+owCH0P4woU58Ubsd84C36oxD4DTsKtUO+GV1D 0qtiQQzwIPfOi+KBQHJwoNF5MDALYSneSBOT6/xYKxiFXGNyIJsxaaWccItnlQAPVci9 JMNY3n1qhMtihpg1esCZzvV0vfjbu1m81vaM+qjCvqOO2pMjQUqHUIXspZEiWGSgUgJa UBoK/NI35P3M6ix38bhvEKtKAeqjjzLcvoM4rdS+LKMYpb/2Y5W517+dCWF8te7kDmFz +A2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ou7KWWJD; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a18si11088436edx.421.2020.07.20.09.14.06; Mon, 20 Jul 2020 09:14:06 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ou7KWWJD; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388208AbgGTQOF (ORCPT + 15 others); Mon, 20 Jul 2020 12:14:05 -0400 Received: from mail.kernel.org ([198.145.29.99]:54284 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388202AbgGTQOC (ORCPT ); Mon, 20 Jul 2020 12:14:02 -0400 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 5B3792065E; Mon, 20 Jul 2020 16:14:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261641; bh=nVE878neXNLc8NO978AlruqasantbqYt4rNkgcCSQrY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ou7KWWJDYzTIkbpju5UeLc16H9wgkBaetQ+1DI/WlmerdKMxLX9bi+f4OywkLJumx YcxFgysh2xkQefE2O9ST845LmHgAe7D20i58YxGBn0nSUWCxpNVCrhMdNhqluXD9ba La/Hvmx91t9qzuXxBbHKAJtQUMPM5nTfjNDuQcdU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mike Leach , Mathieu Poirier Subject: [PATCH 5.7 190/244] coresight: etmv4: Fix CPU power management setup in probe() function Date: Mon, 20 Jul 2020 17:37:41 +0200 Message-Id: <20200720152834.877483230@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Mike Leach commit 9b6a3f3633a5cc928b78627764793b60cb62e0f6 upstream. The current probe() function calls a pair of cpuhp_xxx API functions to setup CPU hotplug handling. The hotplug lock is held for the duration of the two calls and other CPU related code using cpus_read_lock() / cpus_read_unlock() calls. The problem is that on error states, goto: statements bypass the cpus_read_unlock() call. This code has increased in complexity as the driver has developed. This patch introduces a pair of helper functions etm4_pm_setup_cpuslocked() and etm4_pm_clear() which correct the issues above and group the PM code a little better. The two functions etm4_cpu_pm_register() and etm4_cpu_pm_unregister() are dropped as these call cpu_pm_register_notifier() / ..unregister_notifier() dependent on CONFIG_CPU_PM - but this define is used to nop these functions out in the pm headers - so the wrapper functions are superfluous. Fixes: f188b5e76aae ("coresight: etm4x: Save/restore state across CPU low power states") Fixes: e9f5d63f84fe ("hwtracing/coresight-etm4x: Use cpuhp_setup_state_nocalls_cpuslocked()") Fixes: 58eb457be028 ("hwtracing/coresight-etm4x: Convert to hotplug state machine") Signed-off-by: Mike Leach Cc: stable Reviewed-by: Mathieu Poirier Link: https://lore.kernel.org/r/20200701160852.2782823-3-mathieu.poirier@linaro.org Signed-off-by: Greg Kroah-Hartman --- drivers/hwtracing/coresight/coresight-etm4x.c | 82 ++++++++++++++++---------- 1 file changed, 53 insertions(+), 29 deletions(-) --- a/drivers/hwtracing/coresight/coresight-etm4x.c +++ b/drivers/hwtracing/coresight/coresight-etm4x.c @@ -1399,18 +1399,57 @@ static struct notifier_block etm4_cpu_pm .notifier_call = etm4_cpu_pm_notify, }; -static int etm4_cpu_pm_register(void) +/* Setup PM. Called with cpus locked. Deals with error conditions and counts */ +static int etm4_pm_setup_cpuslocked(void) { - if (IS_ENABLED(CONFIG_CPU_PM)) - return cpu_pm_register_notifier(&etm4_cpu_pm_nb); + int ret; - return 0; + if (etm4_count++) + return 0; + + ret = cpu_pm_register_notifier(&etm4_cpu_pm_nb); + if (ret) + goto reduce_count; + + ret = cpuhp_setup_state_nocalls_cpuslocked(CPUHP_AP_ARM_CORESIGHT_STARTING, + "arm/coresight4:starting", + etm4_starting_cpu, etm4_dying_cpu); + + if (ret) + goto unregister_notifier; + + ret = cpuhp_setup_state_nocalls_cpuslocked(CPUHP_AP_ONLINE_DYN, + "arm/coresight4:online", + etm4_online_cpu, NULL); + + /* HP dyn state ID returned in ret on success */ + if (ret > 0) { + hp_online = ret; + return 0; + } + + /* failed dyn state - remove others */ + cpuhp_remove_state_nocalls_cpuslocked(CPUHP_AP_ARM_CORESIGHT_STARTING); + +unregister_notifier: + cpu_pm_unregister_notifier(&etm4_cpu_pm_nb); + +reduce_count: + --etm4_count; + return ret; } -static void etm4_cpu_pm_unregister(void) +static void etm4_pm_clear(void) { - if (IS_ENABLED(CONFIG_CPU_PM)) - cpu_pm_unregister_notifier(&etm4_cpu_pm_nb); + if (--etm4_count != 0) + return; + + cpu_pm_unregister_notifier(&etm4_cpu_pm_nb); + cpuhp_remove_state_nocalls(CPUHP_AP_ARM_CORESIGHT_STARTING); + if (hp_online) { + cpuhp_remove_state_nocalls(hp_online); + hp_online = 0; + } } static int etm4_probe(struct amba_device *adev, const struct amba_id *id) @@ -1464,24 +1503,15 @@ static int etm4_probe(struct amba_device etm4_init_arch_data, drvdata, 1)) dev_err(dev, "ETM arch init failed\n"); - if (!etm4_count++) { - cpuhp_setup_state_nocalls_cpuslocked(CPUHP_AP_ARM_CORESIGHT_STARTING, - "arm/coresight4:starting", - etm4_starting_cpu, etm4_dying_cpu); - ret = cpuhp_setup_state_nocalls_cpuslocked(CPUHP_AP_ONLINE_DYN, - "arm/coresight4:online", - etm4_online_cpu, NULL); - if (ret < 0) - goto err_arch_supported; - hp_online = ret; + ret = etm4_pm_setup_cpuslocked(); + cpus_read_unlock(); - ret = etm4_cpu_pm_register(); - if (ret) - goto err_arch_supported; + /* etm4_pm_setup_cpuslocked() does its own cleanup - exit on error */ + if (ret) { + etmdrvdata[drvdata->cpu] = NULL; + return ret; } - cpus_read_unlock(); - if (etm4_arch_supported(drvdata->arch) == false) { ret = -EINVAL; goto err_arch_supported; @@ -1528,13 +1558,7 @@ static int etm4_probe(struct amba_device err_arch_supported: etmdrvdata[drvdata->cpu] = NULL; - if (--etm4_count == 0) { - etm4_cpu_pm_unregister(); - - cpuhp_remove_state_nocalls(CPUHP_AP_ARM_CORESIGHT_STARTING); - if (hp_online) - cpuhp_remove_state_nocalls(hp_online); - } + etm4_pm_clear(); return ret; } From patchwork Mon Jul 20 15:38:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 237530 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp2121739ilg; Mon, 20 Jul 2020 09:17:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzFSWeeMcD0f3TaRuilMD07rQHGwF8Kk/rMj8bmDRHreIK56Rf5Aaq7nU8AT4lgXz2d2A4l X-Received: by 2002:a17:906:dbcf:: with SMTP id yc15mr20595986ejb.222.1595261863004; Mon, 20 Jul 2020 09:17:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595261862; cv=none; d=google.com; s=arc-20160816; b=FNy9tGFxEMisgiLGtI71Wjzdm52MHygLAI7WPNV4oH+qBkoglKe7QPZDFnF4jPbXH2 XfPiWECGGhs0MkCVCm5Najatpzjx7f6m98RTZxBbbWveMvaYYntntf0/nbfdKD4Ds0Pu Kba2yLTrTWhpakEaAyUblZPWBYaRrXdxoIMchloTawL5azRizVUiH+0ycSdBZzjq0wFL fFHnBszELT7j54/L4yjBRyaKaggpOWEmdc5ANRbhXhPUlmwFbxuK6PuMmWGh/x+cxrO9 dV8Y35BiOwfq8vIZBOkpNVUqfwxLENHLNtwItIWiKDQ+vm+ZDzWptlUoyV0VMPT8UtcU iSbg== 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=3QHO9T0w8Lf1K6ugMzl9qTwaq8AT4nccnNrySGh9WvU=; b=t3VeXWVujQAHANZdYTV7wEBhie/bgwz5mpOQrz6OA+VN7eFP4HqlrARyr4tPziujHa Tbv+mCM6+kUpzW3bAl0cSD0THCPMTjmQiqMn3ljOPN6xF4Maq9ipUIcTaAcV6sE6utyr 4AkO11SuKgmO13zPyf1uB2HiP613InPg8l2jIFugwENJFblvtboWokftez85JiPIaM1f 7Cs8TkKJ5W2r97MTnS6TaYPMlUzsQXf74m+64xVun/sSm51DFdDOWh6JqlKjxUBC1bPq xk/bl71ie9WOZiZsLSzSgiO5j0N6+bwaLYH00U/HaNRHoehHrFLf3G5wpmRcmiJyzzUa P16A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jV6qWQxJ; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cn25si10282270edb.68.2020.07.20.09.17.42; Mon, 20 Jul 2020 09:17:42 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jV6qWQxJ; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387843AbgGTQP0 (ORCPT + 15 others); Mon, 20 Jul 2020 12:15:26 -0400 Received: from mail.kernel.org ([198.145.29.99]:56284 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388410AbgGTQPZ (ORCPT ); Mon, 20 Jul 2020 12:15:25 -0400 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 52CDF20656; Mon, 20 Jul 2020 16:15:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595261724; bh=JPEzLH6tKL+WMDuIPV6rnfvXsiGH+MU8f5d/RrU/mdU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jV6qWQxJjbtpWQxUffQXqYE0HJkIZse2luGdK5apWavP772u1YGdu7/7EOqbzdqAG yTaRFlfEE2nNuCdYpBUs2d76uDyYWxqwA07jUXcSEjQxZKal5F/VqpRNUccHBKDxrh zE/u5kEFhjqCx5c9qa/pOwnXL8CJUBw4DPsY0Ir8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vincent Guittot , "Peter Zijlstra (Intel)" , Valentin Schneider , Dietmar Eggemann Subject: [PATCH 5.7 220/244] sched/fair: handle case of task_h_load() returning 0 Date: Mon, 20 Jul 2020 17:38:11 +0200 Message-Id: <20200720152836.312927779@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200720152825.863040590@linuxfoundation.org> References: <20200720152825.863040590@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Vincent Guittot commit 01cfcde9c26d8555f0e6e9aea9d6049f87683998 upstream. task_h_load() can return 0 in some situations like running stress-ng mmapfork, which forks thousands of threads, in a sched group on a 224 cores system. The load balance doesn't handle this correctly because env->imbalance never decreases and it will stop pulling tasks only after reaching loop_max, which can be equal to the number of running tasks of the cfs. Make sure that imbalance will be decreased by at least 1. misfit task is the other feature that doesn't handle correctly such situation although it's probably more difficult to face the problem because of the smaller number of CPUs and running tasks on heterogenous system. We can't simply ensure that task_h_load() returns at least one because it would imply to handle underflow in other places. Signed-off-by: Vincent Guittot Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Valentin Schneider Reviewed-by: Dietmar Eggemann Tested-by: Dietmar Eggemann Cc: # v4.4+ Link: https://lkml.kernel.org/r/20200710152426.16981-1-vincent.guittot@linaro.org Signed-off-by: Greg Kroah-Hartman --- kernel/sched/fair.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4033,7 +4033,11 @@ static inline void update_misfit_status( return; } - rq->misfit_task_load = task_h_load(p); + /* + * Make sure that misfit_task_load will not be null even if + * task_h_load() returns 0. + */ + rq->misfit_task_load = max_t(unsigned long, task_h_load(p), 1); } #else /* CONFIG_SMP */ @@ -7633,7 +7637,14 @@ static int detach_tasks(struct lb_env *e switch (env->migration_type) { case migrate_load: - load = task_h_load(p); + /* + * Depending of the number of CPUs and tasks and the + * cgroup hierarchy, task_h_load() can return a null + * value. Make sure that env->imbalance decreases + * otherwise detach_tasks() will stop only after + * detaching up to loop_max tasks. + */ + load = max_t(unsigned long, task_h_load(p), 1); if (sched_feat(LB_MIN) && load < 16 && !env->sd->nr_balance_failed)