HuC authentication is called even if HuC firmware is not present in the
system, leading to NULL ptr dereference on not allocated gem_object.
Let's avoid trying to authenticate HuC if its firmware is not loaded
successfully.

Fixes: dac84a388528 ("drm/i915/huc: Support HuC authentication")

v2: Check inside the auth function, split the assert (Michał)
v3: Oops, hit send before compiling, s/huc_fw/huc->fw

Cc: Anusha Srivatsa <[email protected]>
Cc: Arkadiusz Hiler <[email protected]>
Cc: Chris Wilson <[email protected]>
Reviewed-by: Michal Wajdeczko <[email protected]>
Signed-off-by: Michał Winiarski <[email protected]>
---
 drivers/gpu/drm/i915/intel_huc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_huc.c b/drivers/gpu/drm/i915/intel_huc.c
index 897ef31..5edd4f7 100644
--- a/drivers/gpu/drm/i915/intel_huc.c
+++ b/drivers/gpu/drm/i915/intel_huc.c
@@ -299,6 +299,9 @@ void intel_guc_auth_huc(struct drm_i915_private *dev_priv)
        int ret;
        u32 data[2];
 
+       if (huc->fw.load_status != INTEL_UC_FIRMWARE_SUCCESS)
+               return;
+
        vma = i915_gem_object_ggtt_pin(huc->fw.obj, NULL, 0, 0,
                                PIN_OFFSET_BIAS | GUC_WOPCM_TOP);
        if (IS_ERR(vma)) {
-- 
2.9.3

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to