Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp1207051ybf; Thu, 27 Feb 2020 06:49:13 -0800 (PST) X-Google-Smtp-Source: APXvYqz0D+NiYyHLTLNqCBcLkW5rK2tHA0iE5wHUUs51MH3cs4xJ8LV0PWXRGyWRWGnJCum1Q3qU X-Received: by 2002:aca:a857:: with SMTP id r84mr3528143oie.41.1582814953632; Thu, 27 Feb 2020 06:49:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582814953; cv=none; d=google.com; s=arc-20160816; b=Q4MPRo1dX++mFocGkFaw5iHaRq7ezLIJyVyZKnHMFB3yeTYXLyA0zCYZGZ6W1ntcTM giTX0nK+28JHAn+mHihi2jG68dzsyXQdpi8okloZ1JqdmetGynvPRbT18sDAxCvlHBQW krG1J1PveYHC3uhB6d0nJUIjngBGvU5j0vEeGfXgZCN+zV2EuiBuKOqdY3TmmGX1R+7t hVCz4/E0wcvx9hGEIN8iVfrwwTMuv6Y0JVWIfJrwPdYyB2e4QxU6143j6K18onACHKPF K1HbpmRUDyhX3OmLCd2oe8Z3hwvnhfSfbnrlLAeeBP/DTbNf1vd53ex7lEIveECVyJeg keww== 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=3j0SVNrLt+TY4IBbSfidNspa/sJcgYG/JcavgqrTpI0=; b=QZCIZjgkPgDfQKwMBp9xgapYb0/p6sZSAKGXYfa+Wj1DjcWd1BpWbw6bJL+ipC6lbR X+lBoe6Iftm7Yox4RT2PeyRaSpV/9QJOcFk4DKiEoObPthGDBae1OqXnetdyb11dpM33 e2tyXmWBLXfIz+j8VlzThCbnijIEzvNc792IMcEA85HK+RoDcPT/TTeXbkRjALiNIlH4 BCRLnUsayXf38A3cXrYSVrboeBTDDjTvMJNIIPrfft3JFB80wd+V/2aZiaVnojAfoODn y/hAdQDx/x0BUENyFYesrABCj768Tupulf+SuR9FM/+SMXLf7qVs6lg0stm5sxQS9J57 bsYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=m7r6GJI2; 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 t25si1392608oic.183.2020.02.27.06.49.01; Thu, 27 Feb 2020 06:49:13 -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=m7r6GJI2; 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 S1729903AbgB0NnG (ORCPT + 99 others); Thu, 27 Feb 2020 08:43:06 -0500 Received: from mail.kernel.org ([198.145.29.99]:38196 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729580AbgB0NnE (ORCPT ); Thu, 27 Feb 2020 08:43:04 -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 E52A020726; Thu, 27 Feb 2020 13:43:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582810984; bh=IEqL5xJdvkCDBxzC/BErSDTVMFN7oI3hvjjONr0p9Tw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=m7r6GJI2m/q861am+/PTQ4S6EU+5gsHzVepu6/noGOz7aAd7ugIA2S1BdjGXvtfZH pizRB6pk8pyyySJYlcPXhAxIjuhUUSViuH+RROBgwA196Fiphgn7ulfvJCMzWWK4sm fvfj7N+M6ZVOCWksQtw3iwj0RFyDJU3UOgvRxGIg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ben Skeggs , Sasha Levin Subject: [PATCH 4.4 073/113] drm/nouveau/disp/nv50-: prevent oops when no channel method map provided Date: Thu, 27 Feb 2020 14:36:29 +0100 Message-Id: <20200227132223.480230801@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200227132211.791484803@linuxfoundation.org> References: <20200227132211.791484803@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 01803c0679b68..d012df9fb9df0 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c @@ -72,6 +72,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