mbox series

[0/7] Hardening firmware fetch

Message ID 20190807170034.8440-1-michal.wajdeczko@intel.com (mailing list archive)
Headers show
Series Hardening firmware fetch | expand

Message

Michal Wajdeczko Aug. 7, 2019, 5 p.m. UTC
More probe failures inside uc loading path.

Michal Wajdeczko (7):
  drm/i915/uc: Prefer dev_info for reporting options
  drm/i915/uc: HuC firmware can't be supported without GuC
  drm/i915/uc: Don't fetch HuC fw if GuC fw fetch already failed
  drm/i915: Don't try to partition WOPCM without GuC firmware
  drm/i915: Make wopcm_to_i915() private
  drm/i915/uc: WOPCM programming errors are not always real
  drm/i915/uc: Hardening firmware fetch

 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c |   5 +-
 drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c |   8 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc.c     |  42 +++---
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c  | 156 +++++++++++++++-------
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h  |  11 +-
 drivers/gpu/drm/i915/i915_drv.h           |   5 -
 drivers/gpu/drm/i915/intel_wopcm.c        |   7 +-
 7 files changed, 156 insertions(+), 78 deletions(-)

Comments

Chris Wilson Aug. 7, 2019, 8:19 p.m. UTC | #1
Quoting Patchwork (2019-08-07 20:42:47)
> == Series Details ==
> 
> Series: Hardening firmware fetch (rev2)
> URL   : https://patchwork.freedesktop.org/series/64856/
> State : success
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_6649 -> Patchwork_13907
> ====================================================
> 
> Summary
> -------
> 
>   **SUCCESS**
> 
>   No regressions found.

None found, but still some worrying warnings for me. Oh well, pushed with
one minor edit for a compile warning,

 static void __force_fw_fetch_failures(struct intel_uc_fw *uc_fw,
-                                     struct drm_i915_private *i915, bool user)
+                                     struct drm_i915_private *i915,
+                                     int e)
 {
-       int e = user ? -EINVAL : -ESTALE;
+       bool user = e == -EINVAL;

        if (i915_inject_load_error(i915, e)) {
                /* non-existing blob */
@@ -267,8 +268,8 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw, struct drm_i915_private *i915)
        if (err)
                return err;

-       __force_fw_fetch_failures(uc_fw, i915, true);
-       __force_fw_fetch_failures(uc_fw, i915, false);
+       __force_fw_fetch_failures(uc_fw, i915, -EINVAL);
+       __force_fw_fetch_failures(uc_fw, i915, -ESTALE);
-Chris