Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2509254pxj; Mon, 10 May 2021 04:50:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx94ZtdX8KBsVmkS3FHKtD+belE2IiZ+z69OBTOabPjdbpnk2gz+AUL7cjH/a4SWKTjF82a X-Received: by 2002:aa7:c517:: with SMTP id o23mr27653777edq.185.1620647456673; Mon, 10 May 2021 04:50:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620647456; cv=none; d=google.com; s=arc-20160816; b=M85kIrX51c0IUzuoRIbY0FvBqCtsj1OqAPYXTEiAMib1SgwjRbh86YJ7FAv1AMp8dq 5QCZm5EjAnx9V4LMBjV65+HA1q/f5CtROCagypadDFb2lBeCYSlVJK89hVFRsIYOw8GW Jsz0H9EfbLunrVcWd8v5gfXkVTsjUBN4iy0/KFJNH7dYhOMxxeyDY4ed/4fO3Nk01Api gllYc8wpjeb2SsC7cRLIJNb+l/4KBqGF4jK26Z3amaU+htFrIyrfjxeKio72b0vpykoK 35ZAd+hOwUmTENVLht0vX7Ii7LagWvWKvDdsatOprSnEpHdPSIiJazQ45XspF/B89J/h CeBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=rD/NY8nRNAvJUnrXGseqOJOmUNZie6RnXv8MxrH8ZZM=; b=ye1cSxX7gpLL27l8AL1vWRtd4aDI306wVshs/RgZKWXQyEhTs0Y9lyn9QeuMW9ZtS7 EJuGydJOQm4L+zTtKg2HzxEZyJRtl+swqVY8x7dwFZtzpPertFrUc6YqYcXWT9GZNp8G WElQDd9FjBlNW65WFW82e5Sjyu06unWDoDyL1XuyJS5DM6Ix+QCFGjgJRmGdNne1wmw8 ESimRNn1JGkJpquyZ5Mtj0BUTKiQ+2DqZW5codY/7bI2NtIlHE17AmW4ETiVhSHstPat y90RgL92uOXNlVXCsfhpGT37/ja3zd0RzZou4JqDxgO2Ee/7aaerePHAtAfJDrzCR7Ku dNRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=m3OTHvTi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jg28si12510284ejc.618.2021.05.10.04.50.32; Mon, 10 May 2021 04:50:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=m3OTHvTi; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235024AbhEJLnu (ORCPT + 99 others); Mon, 10 May 2021 07:43:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:52682 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232881AbhEJK5r (ORCPT ); Mon, 10 May 2021 06:57:47 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id ECB1361C3C; Mon, 10 May 2021 10:52:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620643930; bh=lt/9rK8T3AM+NmcPi+E/Z3NSuGiLmZH/qelNbYjdOfM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=m3OTHvTikuk3iKlMy/n23afPwbgKI5WPpteaVwcFXv9Q42LwlASueJtS8mTyklgMp gjaHC3wvDY3oFrvbWne+Um+emJ094vWApp/r/fYZPUejr+JUg0iwYf521z8+07Y0jL Pgw5cuIuo/0LKU6FcC3MR2kBEoB0zUOj9jzY69SU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, =?UTF-8?q?Christian=20K=C3=B6nig?= , Tong Zhang , Alex Deucher , Sasha Levin Subject: [PATCH 5.11 219/342] drm/radeon: dont evict if not initialized Date: Mon, 10 May 2021 12:20:09 +0200 Message-Id: <20210510102017.331661695@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102010.096403571@linuxfoundation.org> References: <20210510102010.096403571@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tong Zhang [ Upstream commit 05eacc0f8f6c7e27f1841343611f4bed9ee178c1 ] TTM_PL_VRAM may not initialized at all when calling radeon_bo_evict_vram(). We need to check before doing eviction. [ 2.160837] BUG: kernel NULL pointer dereference, address: 0000000000000020 [ 2.161212] #PF: supervisor read access in kernel mode [ 2.161490] #PF: error_code(0x0000) - not-present page [ 2.161767] PGD 0 P4D 0 [ 2.163088] RIP: 0010:ttm_resource_manager_evict_all+0x70/0x1c0 [ttm] [ 2.168506] Call Trace: [ 2.168641] radeon_bo_evict_vram+0x1c/0x20 [radeon] [ 2.168936] radeon_device_fini+0x28/0xf9 [radeon] [ 2.169224] radeon_driver_unload_kms+0x44/0xa0 [radeon] [ 2.169534] radeon_driver_load_kms+0x174/0x210 [radeon] [ 2.169843] drm_dev_register+0xd9/0x1c0 [drm] [ 2.170104] radeon_pci_probe+0x117/0x1a0 [radeon] Reviewed-by: Christian König Suggested-by: Christian König Signed-off-by: Tong Zhang Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- drivers/gpu/drm/radeon/radeon_object.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index 8bc5ad1d6585..962be545f889 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -385,6 +385,8 @@ int radeon_bo_evict_vram(struct radeon_device *rdev) } #endif man = ttm_manager_type(bdev, TTM_PL_VRAM); + if (!man) + return 0; return ttm_resource_manager_evict_all(bdev, man); } -- 2.30.2