From nobody Mon Feb 9 00:31:17 2026 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11011047.outbound.protection.outlook.com [40.93.194.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A5903358B5 for ; Thu, 22 Jan 2026 17:05:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769101546; cv=fail; b=r+wgkZtiylYBlGD0DNRbgNcarqkYvBFnrmk9ZWEiN3xDpjTA5RenW7iPGOs5OcZykcYdhVY16EU51y9fiZZOsmXAXSKwX0N6RzzZ8FRdoR+nnPzkthajmvgftX/1s/n5CHoZ2YyzJ0jHn3tlbEvqmqwIGXQq6rywp1uXjDyskzg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769101546; c=relaxed/simple; bh=tF6UPEr5qbQpc3YG7+k0Z58NYiOoa30xNw6T9bGyuZI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ON9gs5fNG81qXOXd5Xv0kPYHtV0NJmk1s81ou/IIo29AfZwqsCg4MwiqcJLpa40SpGRl2vb1Q4zKV6MAN2qMfaLK61uM3UuhW9hGLKn6DldrwWiXObhMcFVGKVLoRfelzO/8Q6hGfPD/j1bW0S09m10PKiWU3PHFVVpx2sygC1k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=K8nuJPeH; arc=fail smtp.client-ip=40.93.194.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="K8nuJPeH" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MIhBdf5CRMb9ebJda+lJG1euDpZ7flWm8ODud4G9KjkGKYz3CLFE9w59Flgq3u+5zU4nIKSKzQR1fz0kfGRmZ+Qb0Hk5gNuv0ifLc5dYOz32yLTi+UFJVkWJ2sKH1sfRiUyYD9lz1e60e2PGIfhFa6eTbtf3UWhF1o/3DVjGXm+gx/81G8m0m0dr183o4lKlJMOodqcby737qAfuD1xW6F+6f57XAFcS1seyEbTJuc/uwxXKUF/1OTwCk+kStnyFGnqGMPtXLiEZhMSzYeIr5W7l+ntaFuW+tzX+9ctx9O06IphZc6r6KL4Ax7YyRUPJPBmjRIlz+sFO+UXqpxcMnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=g1nT16lXSFx5rzdhUQDsqftfqxLlpMM8d/d/HUxlY/s=; b=EOs9wySiZgYbByxgzeodr5hzQBu8ETvYbiFG0T4lBEbyb/vt239eXlFUpPmbL+rbgjcWP+GSph/SA4jtBvx7BBqWcZoQAMqKaA+Cipuj1bDQPPOkm5O5cWmMmmPywhwk2X58mO7AbAs5V3mUtfqPR7gVdjuVO+ZbM1Qr2KtVOWtQWIgqI62ZIItG0/5GyMKeq9ot7kni61f46QYA51g924N/tidK0OkEXSAGoU5xDYdSS2ZAx6v5F/0QXatkILTmY4cMwMHc5NjOPkOoyn5OlF/LMZfbCNCNISrtfNhFJpR1AMcqq4Kfjw4WbGbxs6lTeYSOT34b+i7XJ8sV0HGW/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g1nT16lXSFx5rzdhUQDsqftfqxLlpMM8d/d/HUxlY/s=; b=K8nuJPeH+7WPg/YRpiGkO43XI3KjgCHZPxSEcpUM2spks1ZQG8HxIzcbfrQ50+ZXVDh3v9zwXsh9tyYsiAK+bLTA4DaoaatL/YkLClxcUIvJbB6O0XoE9YzNH/0UTV8rz2dsAUDgRR9KET3eZvveytDhwuk2tJCR9wzfQpbuB/A= Received: from BY5PR17CA0011.namprd17.prod.outlook.com (2603:10b6:a03:1b8::24) by MW6PR12MB8706.namprd12.prod.outlook.com (2603:10b6:303:249::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Thu, 22 Jan 2026 17:05:25 +0000 Received: from BY1PEPF0001AE18.namprd04.prod.outlook.com (2603:10b6:a03:1b8:cafe::45) by BY5PR17CA0011.outlook.office365.com (2603:10b6:a03:1b8::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.11 via Frontend Transport; Thu, 22 Jan 2026 17:05:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BY1PEPF0001AE18.mail.protection.outlook.com (10.167.242.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Thu, 22 Jan 2026 17:05:25 +0000 Received: from FRAPPELLOUX01-WSLPUB.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 22 Jan 2026 11:05:23 -0600 From: Pierre-Eric Pelloux-Prayer To: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Airlie , Simona Vetter CC: Pierre-Eric Pelloux-Prayer , , , Subject: [PATCH v5 06/10] drm/amdgpu: check entity lock is held in amdgpu_ttm_job_submit Date: Thu, 22 Jan 2026 18:02:03 +0100 Message-ID: <20260122170218.3077-7-pierre-eric.pelloux-prayer@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260122170218.3077-1-pierre-eric.pelloux-prayer@amd.com> References: <20260122170218.3077-1-pierre-eric.pelloux-prayer@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY1PEPF0001AE18:EE_|MW6PR12MB8706:EE_ X-MS-Office365-Filtering-Correlation-Id: 813a0db9-65b2-4303-f81b-08de59d86fac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?B?V2xKOXAwbjlnR2tURzdYL2F0VkpOKzdtbENub2dqeVpUOHUzTkdvSWJXV0Iv?= =?utf-8?B?UEszM3RZb2RFczV5SEpUWEF2ajN1T0VBa2wzMHluU0UvL2lST3dvbG1JOFEx?= =?utf-8?B?eVN5czNKT3EybkFaL1dFZG1meDZldW1aSjJWaExZNExSNFY0a1NyRmNENTBn?= =?utf-8?B?Zkp5M24xRDYzMTBKT1FPemEvalFSdzBUNUNoWUU0TkJZeDZTM2YxVXlZdFJN?= =?utf-8?B?SEJ1dXcxR3RFeCtNOTNONU5DeCtCWlZDakVCNENBc0I0WkhmNUt2c2s1SjdW?= =?utf-8?B?bzlvRWlOVWJFR1BGa1R0di82b0lYMlUzU085a2o5S05Cc2NUMmEyVk5rQzdF?= =?utf-8?B?OWVsM095L3I1eGIyQmJCN1ptTFdrOEdhNkpaVkVYZElDQ3lqUUxzRXdlWDg4?= =?utf-8?B?V2VWWkRXck96SldsMGxVL3N1Z2VjRDY5VUVVY1UxNW9oc0ZKTEZmUmY0WEVa?= =?utf-8?B?OEFaN2R6R0gvMEZqWVJnN0taaVRGa29FVEYxWTRuL1pKd3hxaVdOR2FNTUNE?= =?utf-8?B?bWxDSTlHTk1zSFNsZlVIVnhQWGNuTGFidVNzWHA5Rk1SeGxuSy81SHMwazRF?= =?utf-8?B?aXU4Tm1xSkFTVTViYkR3ODR3R1dyaEloM0p6WVdLYVpJbUdGZlZWdDJIYkpO?= =?utf-8?B?d3BIdDFEWkp3cWRmUUtuRG0wd0pidWFvZkF1aysrdVlUZ1NueWQya29EQlp3?= =?utf-8?B?RUI0b3VtZ2NlcGVkeEJXYkE5TTdyU3NOcFFrWXNRVkwzYjNya01LbmdBTHdJ?= =?utf-8?B?MmtkK1NuTXh6V0kvam5ubzd2b1VJcW14L0pNTU8raFZXaU9lcXJvbzdDWVdQ?= =?utf-8?B?OWF2QnVEcXVVdE5BSlVkQ0R3SlNsSFMwNmJoZll1YTYxNks0RG82L0RmWVFv?= =?utf-8?B?WE9xWUR5YjRqcE1vR082ZjFNMmhkVkpKMzZhcXlSc3lzblNZTGlDMWxxQnR6?= =?utf-8?B?MGJic1F0Tk9QeXRJZnNvZ3JZZm1KSnpyaE5XM1dhWUdRL0c5dUtGMHBYUWg1?= =?utf-8?B?MHVUK1FJcGs2aExrTE5lclhXV2o1ellUMVQrNmh4WFV1aUhJV3BhNGdsak96?= =?utf-8?B?Y1NqMlUzZEdCZzZsNkZMM05TWmdtZ21pbnB5ZGEyVWw2L1lieGUyZnBkaGo0?= =?utf-8?B?VVdIQWYyRlN6MWxGUUY5eE9BK2xsWmlVTXpzUG9pWU1makVRdDdBaVFlc3RR?= =?utf-8?B?MVE1N0pRYUp0OFJwcmUzTnEwbjlXeXdzdDN2Wm0zYUl3cThOUm9aLzhCc3lP?= =?utf-8?B?OEk5TXFzbFkwcXFkRGJNMkxHRzRXSVY4ZHNIZnUrT2VtYkgwMHdGbEsxdlJF?= =?utf-8?B?ZDhrRUU3di9oaUNZdFFvYlVha210T2R4YWhwdmNlMDNoeTBtLzBia0hlcUtV?= =?utf-8?B?eWdQMGlLUiszRUp5bmx6RWJZcDZuaWtNRXRLRVlBc1lNdFdVUmhMekNQc0NH?= =?utf-8?B?VFZpZ2NkQkt5ZVlQRmx4RUdyNm11SEh3UGswVjZtQWpYd29rN2tHcHpsdHJX?= =?utf-8?B?SGI2TzZ1cURZQ05sVGdHSyt4R0pFTnZxV3NIbWU0ZTNrYjZHcHN6ay9Jb3pZ?= =?utf-8?B?K0pBMXlDb2RsYmZ3ckZoaklmU2JhUHdnUmZnT2lqdEZxWVRhTnVjbmdmU29p?= =?utf-8?B?Wml1Y0M3aFQ3OGJ6K2JCSFBldTAvSHBWaWxjY1JXeVBJSCtsQTRva05xKzBm?= =?utf-8?B?c2JCY1NLUENzWUNobGs1YzRCTStFeXRZMHh4K0VsYnJqNVA0NTdCb255WWFo?= =?utf-8?B?aFlrREE2NWppR3JBUlZmVGRTaEJQU2Vsa1JjM3BKYzJ1ZmkvWXhrL0dvZnM3?= =?utf-8?B?d3FkN0FwM0ljNVVWTFV5VUNtRVQ5WXhhSjJQYWpaT1AxQzBaQkFCSWllVmhv?= =?utf-8?B?cEpUelJtNTVjTmNhYldERUZpUTZaQ3JBVHlIanZLVCtidE5JWWgvOHk3em8r?= =?utf-8?B?Z2wxUC9WQ1o1VW4rYzFoUkE2azBObURoQ3lrbEYwMC9aUVVOUkFMRzg0bkNs?= =?utf-8?B?SXVZMG5CdUN4MHk5OGhueDR3eGphWFhjdjV1WmRvS011OHB5OUxZajNmSTEw?= =?utf-8?B?ZFN4elJXUzl6MVQ2RmZIemdVL1VGellaaVpidGh2cmg0Um5ibitLb2FqUFBJ?= =?utf-8?B?d3JuZTZiZWIxODJiQnVKTXY5M1ZjU0NQUUxZQkVkQ1lSUTFUZVV3dzF5cFZJ?= =?utf-8?B?RTZ1OFh0STZQMmJaTm8xNVNqWVRuYzZKMTFYOEJCQWlMdG1uV3FPUElIWFUy?= =?utf-8?B?STQ1clZ3SldHMHA5QjJTUmJMNVJ3PT0=?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2026 17:05:25.3489 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 813a0db9-65b2-4303-f81b-08de59d86fac X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BY1PEPF0001AE18.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8706 drm_sched_job_arm and drm_sched_entity_push_job must be called under the same lock to guarantee the order of execution. This commit adds a check in amdgpu_ttm_job_submit and fix the places where the lock was missing. Signed-off-by: Pierre-Eric Pelloux-Prayer Reviewed-by: Christian K=C3=B6nig --- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/= amdgpu/amdgpu_ttm.c index d23d3046919b..e149092da8f1 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -163,7 +163,8 @@ static void amdgpu_evict_flags(struct ttm_buffer_object= *bo, } =20 static struct dma_fence * -amdgpu_ttm_job_submit(struct amdgpu_device *adev, struct amdgpu_job *job, = u32 num_dw) +amdgpu_ttm_job_submit(struct amdgpu_device *adev, struct amdgpu_ttm_buffer= _entity *entity, + struct amdgpu_job *job, u32 num_dw) { struct amdgpu_ring *ring; =20 @@ -171,6 +172,8 @@ amdgpu_ttm_job_submit(struct amdgpu_device *adev, struc= t amdgpu_job *job, u32 nu amdgpu_ring_pad_ib(ring, &job->ibs[0]); WARN_ON(job->ibs[0].length_dw > num_dw); =20 + lockdep_assert_held(&entity->lock); + return amdgpu_job_submit(job); } =20 @@ -267,7 +270,7 @@ static int amdgpu_ttm_map_buffer(struct amdgpu_ttm_buff= er_entity *entity, amdgpu_gart_map_vram_range(adev, pa, 0, num_pages, flags, cpu_addr); } =20 - dma_fence_put(amdgpu_ttm_job_submit(adev, job, num_dw)); + dma_fence_put(amdgpu_ttm_job_submit(adev, entity, job, num_dw)); return 0; } =20 @@ -1589,7 +1592,7 @@ static int amdgpu_ttm_access_memory_sdma(struct ttm_b= uffer_object *bo, amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_addr, dst_addr, PAGE_SIZE, 0); =20 - fence =3D amdgpu_ttm_job_submit(adev, job, num_dw); + fence =3D amdgpu_ttm_job_submit(adev, &adev->mman.default_entity, job, nu= m_dw); mutex_unlock(&adev->mman.default_entity.lock); =20 if (!dma_fence_wait_timeout(fence, false, adev->sdma_timeout)) @@ -2484,7 +2487,7 @@ int amdgpu_copy_buffer(struct amdgpu_device *adev, byte_count -=3D cur_size_in_bytes; } =20 - *fence =3D amdgpu_ttm_job_submit(adev, job, num_dw); + *fence =3D amdgpu_ttm_job_submit(adev, entity, job, num_dw); =20 return 0; =20 @@ -2527,7 +2530,7 @@ static int amdgpu_ttm_fill_mem(struct amdgpu_device *= adev, byte_count -=3D cur_size; } =20 - *fence =3D amdgpu_ttm_job_submit(adev, job, num_dw); + *fence =3D amdgpu_ttm_job_submit(adev, entity, job, num_dw); return 0; } =20 --=20 2.43.0