From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: "xinhui pan" <xinhui.pan@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Sasha Levin" <sashal@kernel.org>,
amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [PATCH AUTOSEL 4.19 25/25] drm/amdgpu: Fix a use-after-free
Date: Mon, 24 May 2021 10:50:08 -0400 [thread overview]
Message-ID: <20210524145008.2499049-25-sashal@kernel.org> (raw)
In-Reply-To: <20210524145008.2499049-1-sashal@kernel.org>
From: xinhui pan <xinhui.pan@amd.com>
[ Upstream commit 1e5c37385097c35911b0f8a0c67ffd10ee1af9a2 ]
looks like we forget to set ttm->sg to NULL.
Hit panic below
[ 1235.844104] general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b7b4b: 0000 [#1] SMP DEBUG_PAGEALLOC NOPTI
[ 1235.989074] Call Trace:
[ 1235.991751] sg_free_table+0x17/0x20
[ 1235.995667] amdgpu_ttm_backend_unbind.cold+0x4d/0xf7 [amdgpu]
[ 1236.002288] amdgpu_ttm_backend_destroy+0x29/0x130 [amdgpu]
[ 1236.008464] ttm_tt_destroy+0x1e/0x30 [ttm]
[ 1236.013066] ttm_bo_cleanup_memtype_use+0x51/0xa0 [ttm]
[ 1236.018783] ttm_bo_release+0x262/0xa50 [ttm]
[ 1236.023547] ttm_bo_put+0x82/0xd0 [ttm]
[ 1236.027766] amdgpu_bo_unref+0x26/0x50 [amdgpu]
[ 1236.032809] amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu+0x7aa/0xd90 [amdgpu]
[ 1236.040400] kfd_ioctl_alloc_memory_of_gpu+0xe2/0x330 [amdgpu]
[ 1236.046912] kfd_ioctl+0x463/0x690 [amdgpu]
Signed-off-by: xinhui pan <xinhui.pan@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 757fa486aac4..50807d621eca 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1277,6 +1277,7 @@ static void amdgpu_ttm_tt_unpopulate(struct ttm_tt *ttm)
if (gtt && gtt->userptr) {
amdgpu_ttm_tt_set_user_pages(ttm, NULL);
kfree(ttm->sg);
+ ttm->sg = NULL;
ttm->page_flags &= ~TTM_PAGE_FLAG_SG;
return;
}
--
2.30.2
prev parent reply other threads:[~2021-05-24 15:10 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-24 14:49 [PATCH AUTOSEL 4.19 01/25] platform/x86: hp_accel: Avoid invoking _INI to speed up resume Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 02/25] serial: max310x: unregister uart driver in case of failure and abort Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 03/25] net: fujitsu: fix potential null-ptr-deref Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 04/25] net: caif: remove BUG_ON(dev == NULL) in caif_xmit Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 05/25] char: hpet: add checks after calling ioremap Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 06/25] ALSA: sb8: Add a comment note regarding an unused pointer Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 07/25] isdn: mISDNinfineon: check/cleanup ioremap failure correctly in setup_io Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 08/25] ath6kl: return error code in ath6kl_wmi_set_roam_lrssi_cmd() Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 09/25] dmaengine: qcom_hidma: comment platform_driver_register call Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 10/25] libertas: register sysfs groups properly Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 11/25] ASoC: rt5645: add error checking to rt5645_probe function Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 12/25] ASoC: cs43130: handle errors in cs43130_probe() properly Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 13/25] media: dvb: Add check on sp8870_readreg return Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 14/25] media: gspca: mt9m111: Check write_bridge for timeout Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 15/25] media: gspca: properly check for errors in po1030_probe() Sasha Levin
2021-05-24 14:49 ` [PATCH AUTOSEL 4.19 16/25] cdrom: gdrom: initialize global variable at init time Sasha Levin
2021-05-24 14:50 ` [PATCH AUTOSEL 4.19 17/25] scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic Sasha Levin
2021-05-24 14:50 ` [PATCH AUTOSEL 4.19 18/25] openrisc: Define memory barrier mb Sasha Levin
2021-05-24 14:50 ` [PATCH AUTOSEL 4.19 19/25] btrfs: do not BUG_ON in link_to_fixup_dir Sasha Levin
2021-05-24 14:50 ` [PATCH AUTOSEL 4.19 20/25] platform/x86: hp-wireless: add AMD's hardware id to the supported list Sasha Levin
2021-05-24 14:50 ` [PATCH AUTOSEL 4.19 21/25] platform/x86: intel_punit_ipc: Append MODULE_DEVICE_TABLE for ACPI Sasha Levin
2021-05-24 14:50 ` [PATCH AUTOSEL 4.19 22/25] SMB3: incorrect file id in requests compounded with open Sasha Levin
2021-05-24 14:50 ` [PATCH AUTOSEL 4.19 23/25] drm/amd/display: Disconnect non-DP with no EDID Sasha Levin
2021-05-24 14:50 ` [PATCH AUTOSEL 4.19 24/25] drm/amd/amdgpu: fix refcount leak Sasha Levin
2021-05-24 14:50 ` Sasha Levin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210524145008.2499049-25-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=xinhui.pan@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®