From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 10/10] drm/i915/dmc: protect against loading wrong firmware
Date: Thu, 23 May 2019 12:00:44 -0700 [thread overview]
Message-ID: <20190523190044.GV4441@intel.com> (raw)
In-Reply-To: <20190523082420.10352-10-lucas.demarchi@intel.com>
On Thu, May 23, 2019 at 01:24:20AM -0700, Lucas De Marchi wrote:
> In intel_package_header version 2 there's a new field in the
> fw_info table that must be 0, otherwise it's not the correct DMC
> firmware. Add a check for version 2 or later.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
> drivers/gpu/drm/i915/intel_csr.c | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
> index b7181ca6c8f5..d4996dcf596c 100644
> --- a/drivers/gpu/drm/i915/intel_csr.c
> +++ b/drivers/gpu/drm/i915/intel_csr.c
> @@ -120,7 +120,10 @@ struct intel_css_header {
> } __packed;
>
> struct intel_fw_info {
> - u16 reserved1;
> + u8 reserved1;
> +
> + /* reserved on package_header version 1, must be 0 on version 2 */
2+?
> 1?
>= 2?
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> + u8 dmc_id;
>
> /* Stepping (A, B, C, ..., *). * is a wildcard */
> char stepping;
> @@ -325,12 +328,16 @@ void intel_csr_load_program(struct drm_i915_private *dev_priv)
> */
> static u32 find_dmc_fw_offset(const struct intel_fw_info *fw_info,
> unsigned int num_entries,
> - const struct stepping_info *si)
> + const struct stepping_info *si,
> + u8 package_ver)
> {
> u32 dmc_offset = CSR_DEFAULT_FW_OFFSET;
> unsigned int i;
>
> for (i = 0; i < num_entries; i++) {
> + if (package_ver > 1 && fw_info[i].dmc_id != 0)
> + continue;
> +
> if (fw_info[i].substepping == '*' &&
> si->stepping == fw_info[i].stepping) {
> dmc_offset = fw_info[i].offset;
> @@ -501,7 +508,8 @@ parse_csr_fw_package(struct intel_csr *csr,
>
> fw_info = (const struct intel_fw_info *)
> ((u8 *)package_header + sizeof(*package_header));
> - dmc_offset = find_dmc_fw_offset(fw_info, num_entries, si);
> + dmc_offset = find_dmc_fw_offset(fw_info, num_entries, si,
> + package_header->header_ver);
> if (dmc_offset == CSR_DEFAULT_FW_OFFSET) {
> DRM_ERROR("DMC firmware not supported for %c stepping\n",
> si->stepping);
> --
> 2.21.0
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2019-05-23 19:00 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-23 8:24 [PATCH 01/10] drm/i915/dmc: use kernel types Lucas De Marchi
2019-05-23 8:24 ` [PATCH 02/10] drm/i915/dmc: extract fw_info and table walk from intel_package_header Lucas De Marchi
2019-05-23 17:36 ` Rodrigo Vivi
2019-05-23 17:45 ` Srivatsa, Anusha
2019-05-23 8:24 ` [PATCH 03/10] drm/i915/dmc: add support for package_header with version 2 Lucas De Marchi
2019-05-23 17:43 ` Rodrigo Vivi
2019-05-23 17:55 ` Lucas De Marchi
2019-05-23 17:49 ` Srivatsa, Anusha
2019-05-23 8:24 ` [PATCH 04/10] drm/i915/dmc: extract function to parse css header Lucas De Marchi
2019-05-23 17:45 ` Rodrigo Vivi
2019-05-23 17:51 ` Srivatsa, Anusha
2019-05-23 8:24 ` [PATCH 05/10] drm/i915/dmc: extract function to parse package_header Lucas De Marchi
2019-05-23 18:03 ` Srivatsa, Anusha
2019-05-23 8:24 ` [PATCH 06/10] drm/i915/dmc: extract function to parse dmc_header Lucas De Marchi
2019-05-23 18:22 ` Srivatsa, Anusha
2019-05-23 8:24 ` [PATCH 07/10] drm/i915/dmc: add support to load dmc_header version 3 Lucas De Marchi
2019-05-23 18:26 ` Srivatsa, Anusha
2019-05-23 18:57 ` Rodrigo Vivi
2019-05-23 19:25 ` Lucas De Marchi
2019-05-23 23:27 ` Rodrigo Vivi
2019-05-23 8:24 ` [PATCH 08/10] drm/i915/dmc: remove redundant return in parse_csr_fw() Lucas De Marchi
2019-05-23 18:28 ` Srivatsa, Anusha
2019-05-23 8:24 ` [PATCH 09/10] drm/i915/dmc: protect against reading random memory Lucas De Marchi
2019-05-23 18:58 ` Rodrigo Vivi
2019-05-23 19:41 ` Lucas De Marchi
2019-05-23 8:24 ` [PATCH 10/10] drm/i915/dmc: protect against loading wrong firmware Lucas De Marchi
2019-05-23 19:00 ` Rodrigo Vivi [this message]
2019-05-23 16:13 ` ✓ Fi.CI.BAT: success for series starting with [01/10] drm/i915/dmc: use kernel types Patchwork
2019-05-23 17:32 ` [PATCH 01/10] " Srivatsa, Anusha
2019-05-23 17:34 ` Rodrigo Vivi
2019-05-24 23:56 ` ✓ Fi.CI.IGT: success for series starting with [01/10] " Patchwork
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=20190523190044.GV4441@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.