Received: by 10.213.65.68 with SMTP id h4csp1762165imn; Mon, 19 Mar 2018 12:32:59 -0700 (PDT) X-Google-Smtp-Source: AG47ELtzUV+nFaO5M2Y3P3c+rX0qa//4i4XYFiXSW1s8ytsdEmTQKUZQ3QdM3ADAPK+i5/kb1Kq6 X-Received: by 2002:a17:902:bd05:: with SMTP id p5-v6mr13605758pls.137.1521487979252; Mon, 19 Mar 2018 12:32:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521487979; cv=none; d=google.com; s=arc-20160816; b=mg7rTSU/B1GJ69xOxGlEn1rgmU+0r0p3ogyCE3OsG6+4HdxiSuoAQ4oM2X4hAGDXjn gAWld2sW96WD8Bj+Df9fP7Y1mJ5ueDRTAVi0etEH3WQDHo4+8/+YrnJ3+eYa6bjJnDDA Pj/xUWUy0IhsioNgkWAsgeV29v8FT2DcFJ1wiaberLK6W66JJ9viWKzeSb/UfiopaCBN Jz/sNZNuNZGRZedL/K1H5nSMlQmx7w/lGs9Q6SXhTio0lxylmpR04W8aQi07Ekys7ser sHXFYdJfA5dD2F5V8EwajQ35cjGuYuv7jjs0EAbSz1B/Aj4GLQPRBo3v1ES7qGqHTauD T6Cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:content-disposition :mime-version:message-id:subject:cc:to:from:date :arc-authentication-results; bh=1qnQBWik+gTCz5QcQBJ3BcCQ8D6oLn30wQvPdH0nvVA=; b=V00d1TeTeBwDUMXJ5tG1nQUOepPCTPsKG64KRTDToXbiwrVD9VLGAEN0pWB5KaYz93 1GwwwxGhH88hCk+2LgrgFmlaVQ3skzerbcdmkU/NS7cuqE/0wNey1mzNePgvriz1WG0B MzrcrFN309+S1us6GQNtQNmI7EYE3QV2zQjB0Rne57N3GVIB1GJfzJj8F3rD4quq2Bg0 CFQ5Rp7211wRi0avNDZ2FRwUHCwypzwKVWVrU5BUGyqqyBFOVTMP4qvJnWl7N86cn0ty lZQdquq2NKUdNa3TIzhODbAawYRphQITwPzrtnnI5dxeqPrSMKDDyWJfFxmWsgNpEX8S lfrA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e7si398837pgu.760.2018.03.19.12.32.44; Mon, 19 Mar 2018 12:32:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S968352AbeCSTbC (ORCPT + 99 others); Mon, 19 Mar 2018 15:31:02 -0400 Received: from gateway24.websitewelcome.com ([192.185.51.251]:23871 "EHLO gateway24.websitewelcome.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S968009AbeCSTa5 (ORCPT ); Mon, 19 Mar 2018 15:30:57 -0400 Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4]) by gateway24.websitewelcome.com (Postfix) with ESMTP id E20D62D690 for ; Mon, 19 Mar 2018 14:30:55 -0500 (CDT) Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with SMTP id y0UheJh8GcGlpy0Uhe9Q3f; Mon, 19 Mar 2018 14:30:55 -0500 Received: from [189.145.36.34] (port=37902 helo=embeddedgus) by gator4166.hostgator.com with esmtpa (Exim 4.89_1) (envelope-from ) id 1ey0Uh-0041gY-6N; Mon, 19 Mar 2018 14:30:55 -0500 Date: Mon, 19 Mar 2018 14:30:53 -0500 From: "Gustavo A. R. Silva" To: Zhenyu Wang , Zhi Wang , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , David Airlie Cc: intel-gvt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, "Gustavo A. R. Silva" Subject: [PATCH] drm/i915/gvt/scheduler: fix potential NULL pointer dereference Message-ID: <20180319193053.GA7016@embeddedgus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator4166.hostgator.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - embeddedor.com X-BWhitelist: no X-Source-IP: 189.145.36.34 X-Source-L: No X-Exim-ID: 1ey0Uh-0041gY-6N X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: (embeddedgus) [189.145.36.34]:37902 X-Source-Auth: gustavo@embeddedor.com X-Email-Count: 10 X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20= X-Local-Domain: yes Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org _workload_ is being dereferenced before it is null checked, hence there is a potential null pointer dereference. Fix this by moving the pointer dereference after _workload_ has been null checked. Addresses-Coverity-ID: 1430136 ("Dereference before null check") Fixes: fa3dd623e559 ("drm/i915/gvt: keep oa config in shadow ctx") Signed-off-by: Gustavo A. R. Silva --- drivers/gpu/drm/i915/gvt/scheduler.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c index 0681264..be1a297 100644 --- a/drivers/gpu/drm/i915/gvt/scheduler.c +++ b/drivers/gpu/drm/i915/gvt/scheduler.c @@ -60,9 +60,9 @@ static void set_context_pdp_root_pointer( static void sr_oa_regs(struct intel_vgpu_workload *workload, u32 *reg_state, bool save) { - struct drm_i915_private *dev_priv = workload->vgpu->gvt->dev_priv; - u32 ctx_oactxctrl = dev_priv->perf.oa.ctx_oactxctrl_offset; - u32 ctx_flexeu0 = dev_priv->perf.oa.ctx_flexeu0_offset; + struct drm_i915_private *dev_priv; + u32 ctx_oactxctrl; + u32 ctx_flexeu0; int i = 0; u32 flex_mmio[] = { i915_mmio_reg_offset(EU_PERF_CNTL0), @@ -77,6 +77,10 @@ static void sr_oa_regs(struct intel_vgpu_workload *workload, if (!workload || !reg_state || workload->ring_id != RCS) return; + dev_priv = workload->vgpu->gvt->dev_priv; + ctx_oactxctrl = dev_priv->perf.oa.ctx_oactxctrl_offset; + ctx_flexeu0 = dev_priv->perf.oa.ctx_flexeu0_offset; + if (save) { workload->oactxctrl = reg_state[ctx_oactxctrl + 1]; -- 2.7.4