Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp2026040rwe; Fri, 2 Sep 2022 07:31:29 -0700 (PDT) X-Google-Smtp-Source: AA6agR5fWnN8EJ587bWvRHXSHhtzQkeg3q1ZpJlXQZ7JS8Ce6zq+ffuDkv23/GbB3CrWKZt/yLKG X-Received: by 2002:a05:6402:2884:b0:447:9f63:f969 with SMTP id eg4-20020a056402288400b004479f63f969mr32886577edb.407.1662129089063; Fri, 02 Sep 2022 07:31:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662129089; cv=none; d=google.com; s=arc-20160816; b=Le9fJhBesmgirWWOAfYpfQI300MS1tVnOuQ8kf7p99+CuHffqPFTSYd+AET5itOvAM 34IzvY7N8OzIcmBNIb53mseuGJTmP0RCHUgq8YBMVATPd/H3hCZuDWlN6EsYkKMjiYtN TsDApgNJ7QEvhRM5F7w2kbpTtod4p/ZHzKRDzp2XvszsfwAgoJNaS4lYJ5/fV5r1j34o 2jHrwC8FkF3Jom2mI99ULCgDKX6jNjQ4Ib7Im5Ba8FuprvHgRaiLjkXOVrh2eLMybKHt hBucNNwZEZkEGTRJLF7zgxnSc5+2OVWDu9aqRH8ZUvprAxUqFGbDTQtj1W4/Og2hORRW CNNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=cBtZaPD40Kq6NldASEzLtzlZe9aW8IHrkRDf3K6M+ec=; b=iuh6kZk/bZyuc4Q7rrafvXERfebVJHY85uPxIsl3zZ2APegfHiM22qlsRPkBERdyNv hacTwFHetHoNEH2G/cqFYpM+UYDpsAH3a1GhIySLMHaooWEt/OPXLpsmb78wSnuHyGTR Gg71+k5HuaSrsZqAY9wz89FL8PhetKHgpJFgUC85OzFDW4+8U01o1fFfBlO/dmO5dLnN v1sVZLOVlzNrQoWMxkFVmthqR6XCkO1rrFPMvI0rJPEAhS0t4RFXLVlxoXZJGXhWoDcf selsPdUGBP1RogNEouanaDqglh+V3s439yiJjCZP8byaOk2YaTAv7+oNVAccA09/V+VI XcMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2nT1A7Ip; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hz5-20020a1709072ce500b0073b20e4b786si2048576ejc.92.2022.09.02.07.31.00; Fri, 02 Sep 2022 07:31:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=2nT1A7Ip; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238540AbiIBNAp (ORCPT + 99 others); Fri, 2 Sep 2022 09:00:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51978 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238639AbiIBM7N (ORCPT ); Fri, 2 Sep 2022 08:59:13 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 917B7C7B9E; Fri, 2 Sep 2022 05:40:34 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id B8295B82AC7; Fri, 2 Sep 2022 12:31:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 28EFFC433D6; Fri, 2 Sep 2022 12:31:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1662121918; bh=/GzZFNJ4zbZE3yw3cxjtkbCmRfMDh5qUScV5IZLRNnw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2nT1A7IpGpyIyGUM9BhO5wZK5UAiAsZJ/kQCn6ViCSCtihCC6jBcdp8N8Hs+YPGsn KQWZhYLeTFKUvapXBwVZ+/CSyst33TP34LT8v+bE7AoiCVDCX7xx1ae0bdA5vhh/KT 8970r1P6BLgDrYmddRdTQSm/CVKvPLlwguXXepRo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Timo Alho , Mikko Perttunen , Thierry Reding , Jon Hunter Subject: [PATCH 5.15 06/73] firmware: tegra: bpmp: Do only aligned access to IPC memory area Date: Fri, 2 Sep 2022 14:18:30 +0200 Message-Id: <20220902121404.657506377@linuxfoundation.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220902121404.435662285@linuxfoundation.org> References: <20220902121404.435662285@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Timo Alho commit a4740b148a04dc60e14fe6a1dfe216d3bae214fd upstream. Use memcpy_toio and memcpy_fromio variants of memcpy to guarantee no unaligned access to IPC memory area. This is to allow the IPC memory to be mapped as Device memory to further suppress speculative reads from happening within the 64 kB memory area above the IPC memory when 64 kB memory pages are used. Signed-off-by: Timo Alho Signed-off-by: Mikko Perttunen Signed-off-by: Thierry Reding Cc: Jon Hunter Signed-off-by: Greg Kroah-Hartman --- drivers/firmware/tegra/bpmp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/drivers/firmware/tegra/bpmp.c +++ b/drivers/firmware/tegra/bpmp.c @@ -201,7 +201,7 @@ static ssize_t __tegra_bpmp_channel_read int err; if (data && size > 0) - memcpy(data, channel->ib->data, size); + memcpy_fromio(data, channel->ib->data, size); err = tegra_bpmp_ack_response(channel); if (err < 0) @@ -245,7 +245,7 @@ static ssize_t __tegra_bpmp_channel_writ channel->ob->flags = flags; if (data && size > 0) - memcpy(channel->ob->data, data, size); + memcpy_toio(channel->ob->data, data, size); return tegra_bpmp_post_request(channel); } @@ -420,7 +420,7 @@ void tegra_bpmp_mrq_return(struct tegra_ channel->ob->code = code; if (data && size > 0) - memcpy(channel->ob->data, data, size); + memcpy_toio(channel->ob->data, data, size); err = tegra_bpmp_post_response(channel); if (WARN_ON(err < 0))