From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AD0CBC433DB for ; Wed, 27 Jan 2021 15:42:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5200B207D8 for ; Wed, 27 Jan 2021 15:42:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236197AbhA0Pmr (ORCPT ); Wed, 27 Jan 2021 10:42:47 -0500 Received: from m15112.mail.126.com ([220.181.15.112]:49144 "EHLO m15112.mail.126.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236451AbhA0Plj (ORCPT ); Wed, 27 Jan 2021 10:41:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id; bh=VzzfyvKJgizs2qT6Ty lyZTIrBZLhf//f2J7zrq55aCc=; b=j4+ZX0V42mG9H55Yrv6XHa3TDRa/GHe5Gy MVUSO7cLzhXDLOguEN1DVAzKvBENEcQH7xWL+vNv9PE3kpaUiDHVI0H1tdpbf6Qt 49HlBZEuwSrhMivlXK2XghaWz718ZI7xE0/6qdRLcRGpPVvIHkZzXPNWC+8oo3zq vpyUyQyMA= Received: from localhost.localdomain.localdomain (unknown [182.150.46.145]) by smtp2 (Coremail) with SMTP id DMmowAB3fPiXXRFg7qs1Lg--.22168S2; Wed, 27 Jan 2021 20:33:29 +0800 (CST) From: Qu Huang To: Felix.Kuehling@amd.com Cc: alexander.deucher@amd.com, christian.koenig@amd.com, airlied@linux.ie, daniel@ffwll.ch, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Qu Huang Subject: [PATCH] drm/amdkfd: dqm fence memory corruption Date: Wed, 27 Jan 2021 20:33:26 +0800 Message-Id: <1611750806-10730-1-git-send-email-jinsdb@126.com> X-Mailer: git-send-email 1.8.3.1 X-CM-TRANSID: DMmowAB3fPiXXRFg7qs1Lg--.22168S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7XFyfKFyfAFWDGFy3Ar4fKrg_yoW8Jr13pF WkJryUKry8Ja12v3s7Xa18ZFy5Ca1fWFWfGFy2k39xua13XFy5ArW5Jay8K3y8Wr92ya17 trWDArWDuF1DAw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07U8xhJUUUUU= X-Originating-IP: [182.150.46.145] X-CM-SenderInfo: pmlq2vbe6rjloofrz/1tbimRknDl9E18PRmwAAss Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Amdgpu driver uses 4-byte data type as DQM fence memory, and transmits GPU address of fence memory to microcode through query status PM4 message. However, query status PM4 message definition and microcode processing are all processed according to 8 bytes. Fence memory only allocates 4 bytes of memory, but microcode does write 8 bytes of memory, so there is a memory corruption. Signed-off-by: Qu Huang --- drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c index e686ce2..8b38d0c 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -1161,7 +1161,7 @@ static int start_cpsch(struct device_queue_manager *dqm) pr_debug("Allocating fence memory\n"); /* allocate fence memory on the gart */ - retval = kfd_gtt_sa_allocate(dqm->dev, sizeof(*dqm->fence_addr), + retval = kfd_gtt_sa_allocate(dqm->dev, sizeof(uint64_t), &dqm->fence_mem); if (retval) -- 1.8.3.1