From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Jordan Crouse <jcrouse@codeaurora.org>, linux-arm-msm@vger.kernel.org
Cc: Akhil P Oommen <akhilpo@codeaurora.org>,
Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>,
Eric Anholt <eric@anholt.net>, Jonathan Marek <jonathan@marek.ca>,
Rob Clark <robdclark@gmail.com>,
Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>,
Sean Paul <sean@poorly.run>,
Sharat Masetty <smasetty@codeaurora.org>,
dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] drm/msm: a6xx: Make sure the SQE microcode is safe
Date: Wed, 31 Mar 2021 16:40:07 +0300 [thread overview]
Message-ID: <af099fda-a7be-8fe5-ed9e-cfcd6f13c09c@linaro.org> (raw)
In-Reply-To: <20210210005205.783377-1-jcrouse@codeaurora.org>
Hello,
On 10/02/2021 03:52, Jordan Crouse wrote:
> Most a6xx targets have security issues that were fixed with new versions
> of the microcode(s). Make sure that we are booting with a safe version of
> the microcode for the target and print a message and error if not.
>
> v2: Add more informative error messages and fix typos
>
> Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
[skipped]
> + } else {
> + /*
> + * a650 tier targets don't need whereami but still need to be
> + * equal to or newer than 1.95 for other security fixes
> + */
> + if (adreno_is_a650(adreno_gpu)) {
> + if ((buf[0] & 0xfff) >= 0x195) {
> + ret = true;
> + goto out;
> + }
I think this is incorrect. The latest firmware i have here also fails
this check, with the buf[0] = 0x016dd099, so buf[0] & 0xfff = 0x099.
Could you please confirm the versioning?
> +
> + DRM_DEV_ERROR(&gpu->pdev->dev,
> + "a650 SQE ucode is too old. Have version %x need at least %x\n",
> + buf[0] & 0xfff, 0x195);
> + }
> +
> + /*
> + * When a660 is added those targets should return true here
> + * since those have all the critical security fixes built in
> + * from the start
> + */
> + }
> +out:
> msm_gem_put_vaddr(obj);
> + return ret;
> }
>
> static int a6xx_ucode_init(struct msm_gpu *gpu)
> @@ -566,7 +611,13 @@ static int a6xx_ucode_init(struct msm_gpu *gpu)
> }
>
> msm_gem_object_set_name(a6xx_gpu->sqe_bo, "sqefw");
> - a6xx_ucode_check_version(a6xx_gpu, a6xx_gpu->sqe_bo);
> + if (!a6xx_ucode_check_version(a6xx_gpu, a6xx_gpu->sqe_bo)) {
> + msm_gem_unpin_iova(a6xx_gpu->sqe_bo, gpu->aspace);
> + drm_gem_object_put(a6xx_gpu->sqe_bo);
> +
> + a6xx_gpu->sqe_bo = NULL;
> + return -EPERM;
> + }
> }
>
> gpu_write64(gpu, REG_A6XX_CP_SQE_INSTR_BASE_LO,
--
With best wishes
Dmitry
next prev parent reply other threads:[~2021-03-31 13:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-10 0:52 [PATCH v2] drm/msm: a6xx: Make sure the SQE microcode is safe Jordan Crouse
2021-02-11 13:20 ` Akhil P Oommen
2021-02-11 16:02 ` Jordan Crouse
2021-02-12 7:37 ` Akhil P Oommen
2021-03-31 13:40 ` Dmitry Baryshkov [this message]
2021-05-26 19:03 ` patchwork-bot+linux-arm-msm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=af099fda-a7be-8fe5-ed9e-cfcd6f13c09c@linaro.org \
--to=dmitry.baryshkov@linaro.org \
--cc=airlied@linux.ie \
--cc=akhilpo@codeaurora.org \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=eric@anholt.net \
--cc=freedreno@lists.freedesktop.org \
--cc=jcrouse@codeaurora.org \
--cc=jonathan@marek.ca \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robdclark@gmail.com \
--cc=saiprakash.ranjan@codeaurora.org \
--cc=sean@poorly.run \
--cc=smasetty@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox