Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1633028ybv; Fri, 21 Feb 2020 00:40:19 -0800 (PST) X-Google-Smtp-Source: APXvYqy1nXaTBHMDfr8giesDCTXIzwL43C/nW8+OWOGHPlQY8FBSiYUo4DZYZhsi+KUBASDY7vE4 X-Received: by 2002:aca:4789:: with SMTP id u131mr1009715oia.43.1582274419690; Fri, 21 Feb 2020 00:40:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582274419; cv=none; d=google.com; s=arc-20160816; b=ib3ziIcnhW6lJhdpZIaYJAx/l5R8339GHp4QMIsJy1Fb16N0fQNyyCY2ca87KF0wvY PC9+7jTH4xqCO6jJ+aopyZMx6KX6BlGg+XXOkU/46lrZiK0aLqgu2+a6M+5BGiXMcLEb IggEDXGFpEf30G0uLo8Nq/je7G/DObFZnloZxauneBEtcL3f6m8CdIAljajIRk9fkq+3 15AQo8+RL6rN2yMwIONPLTZT64+myxh6PIge1SrNXeKsgHNERf+oF/5FyRfAosnvCtyv rcZ2FDdyqDhDVvAkAzHQcqoDJByr9wgyFd3vG2Ku0mmtdd17M7v2L62TGIFf9rjH8i3W JgCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=OuzffY0sMPginXGoviBbiasvq54YPCgMTT0CaQ0mIWs=; b=SnpWe2IJMw96P81JEo5irFrhFisnHI/oRvlAyvZ+rLrQASJuHrpNjs6nTYFD2Vo4FQ vnh+E/y2z37qxlZbA8elOuqc4zCCqO4fz6pTuTzninKazgAFARzV1HMaeFkFqE3yGx/t PUHjVYk5yMnfNX8WNa609VxbHejXx6fI/V0ZhR7ezPSEwMzxs0yfGQvNw75NFYeZJaRR NIfHzO7BqVGzQVkH14Wb10cVx71GrBNt/4zioWxJHAkrdmhxuy5rZGAjxD/jhpdyGTxS 4AGZrfViOmWlRyWQyx5M23mTPjQGfZhkgKumBNYshHXN4/Cijeg50ARmLW9XQVzHPgRo ZuSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ahixFYLf; 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 w13si485823oiw.106.2020.02.21.00.40.07; Fri, 21 Feb 2020 00:40:19 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=ahixFYLf; 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 S1731143AbgBUIBA (ORCPT + 99 others); Fri, 21 Feb 2020 03:01:00 -0500 Received: from mail.kernel.org ([198.145.29.99]:33154 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730649AbgBUIAy (ORCPT ); Fri, 21 Feb 2020 03:00:54 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5F8D1206ED; Fri, 21 Feb 2020 08:00:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582272053; bh=J82JkTofHDDCykmw5UKeVbFfNcfQzl+TMlBOTvHz5nY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ahixFYLf5R9fJviHhnEoR3OS0DLdUjWQQhRTko1Lxgfzn59FHbp1tgm/CNMXsqy/H dI8GUgM5/1y9U/M1FDvZavO9Hnh2ZeoIQR9pe9XpeynCGaue0Zz7hJ+jnry22J49bs KfQ9GYW3gMqU0X44k08FsDqr9L5e7Mf7mlUq7ugs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ben Skeggs , Sasha Levin Subject: [PATCH 5.5 361/399] drm/nouveau/disp/nv50-: prevent oops when no channel method map provided Date: Fri, 21 Feb 2020 08:41:26 +0100 Message-Id: <20200221072435.827235341@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200221072402.315346745@linuxfoundation.org> References: <20200221072402.315346745@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ben Skeggs [ Upstream commit 0e6176c6d286316e9431b4f695940cfac4ffe6c2 ] The implementations for most channel types contains a map of methods to priv registers in order to provide debugging info when a disp exception has been raised. This info is missing from the implementation of PIO channels as they're rather simplistic already, however, if an exception is raised by one of them, we'd end up triggering a NULL-pointer deref. Not ideal... Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=206299 Signed-off-by: Ben Skeggs Signed-off-by: Sasha Levin --- drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c index bcf32d92ee5a9..50e3539f33d22 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c @@ -74,6 +74,8 @@ nv50_disp_chan_mthd(struct nv50_disp_chan *chan, int debug) if (debug > subdev->debug) return; + if (!mthd) + return; for (i = 0; (list = mthd->data[i].mthd) != NULL; i++) { u32 base = chan->head * mthd->addr; -- 2.20.1