From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 13DD533D506 for ; Fri, 17 Jul 2026 20:48:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321333; cv=none; b=YPWYoJKPn/3oO+gwPWRZBjUFsL3HtVn1VUKyt57Ve6FALfN93t3LBJxfLpT94iG63Rsmd1JNC82+aVZjeEIIFSE3P18JUYdBeIV6kpoThJhnchqWVQ5LSOtFUilzC7oIobEDUCq9Y0VsE7c0JKS+Y93XAovo5Zq/aPvR4p/QDEU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321333; c=relaxed/simple; bh=x6iVVANElOzzftScgIHxMzDKlbc0yJweoGktavR7ooE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WUoCWQfmcMI1x3ondm5Bb+bElqom3y3RgrRcXM9TvvDoxdo+1wnKJeIwCdunU8ao+J68RxgpDwny1zAqJsiVbaeLa93ZWK63hl/icVgxsose0yel68QbeDbTIHPskCVBOv0R1ff+HM0DUVw1FF46PiWX4iEKl6cfHC35hzoGkpA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=HYVF7vDY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=c9BO1BDC; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="HYVF7vDY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="c9BO1BDC" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtWfK2619502 for ; Fri, 17 Jul 2026 20:48:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=5Uxk/s1mozQ uhwk+cHuG2u1j538IneDvUnNY45Gdb+E=; b=HYVF7vDY2e3C+8BC/VNnDuMIKRo Hb3vOjhGh50xH16si8F+8QaaqKqXGHly7IktU02xVR+vJBcHDZh+BTJ/JGAwAvA4 kOX2SAA/wz/22H7j1ZJxC9HWReHkPL12jZoWfz2HVhjmJerLDhZR2uw5ENfYx+lq eNIQf3FvZwiH0M+MZ6VIkmPUKnHDX8andEqJNBA6WYJdMUz+5Yz8q0oILwWVbyTF HWyLI55qFBlCqGy2abo36WCuBWwwb6bGSh6AGIVX6K8QLDK0Ah4lmcJAHQFtRXFj Q6YDAhyeZN5TKTDIKPcmBOO/3HWzviH43gtDeYULA02ctSZOi0SUGg0gOug== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fffagb7dw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:48:51 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2cce14a21faso34480535ad.0 for ; Fri, 17 Jul 2026 13:48:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321331; x=1784926131; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5Uxk/s1mozQuhwk+cHuG2u1j538IneDvUnNY45Gdb+E=; b=c9BO1BDCLzHG8Vs+qjA+Gbiabf67Mo1fNLAKWJd/HPh84xYVDSz2Jj6w1TKIOyP2Hu jQFNh6lYQu3yT7LMOhCkujI/9J2Pw9180H0iGxvSKk7tPQyPo2L4tOM65nikEvrMVjYZ +vVGJt6mE2T7AgMV6jgg1fJ/jtltXxIfil4KRv+7fj8Aro0+61W/TmmdLp/1AHfoMUvv 3Bvwf657iqEDF6bOJQiAKhx6sRMRQ9DPRCEKYumoIBa5iOMZGizIwV9hZGyFEU5oLa// MfSHkAa/usU+tZY3O+r6EM68dnqY6JdeGamaDus7Ukv1t3ctNzYMVDJi719b9MmgRRgL IYcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321331; x=1784926131; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=5Uxk/s1mozQuhwk+cHuG2u1j538IneDvUnNY45Gdb+E=; b=JVhj+UxFBi8JJwBCg0LGgC1fWacYhA44astXQrMU1TeEWbnmyJ/LuGFUsaAeJG9Vwv wQy/8muIj0EqOxtpUEyWOMCo3MZwdnXnRb6aPjtqHnaKuXc5CL5QAohF6nYeuVvkSw1O Gz6KPOC8rXdxMXT1HLwsRP30EW2ydafD5zDtAY97m+4WQqwnydd+g1VrjZ5j6iJRci+J dw9iWcsXsb0swgEToC4AkfilSt+wj3rAfs1QUWN3sPOL6SqKcJeJ24IW9lJ7D78U1Tyh GO9pzOkhxmfGxN1R4CiJc3FnN8yZTnw41b/UdEgeMZQbs6de796pw/p7Zb8lIXEUbeb8 uG9A== X-Forwarded-Encrypted: i=1; AHgh+RpRT3MTSdajyfQBt8Foy7u6kMsKAaZRD6mr8P0dNJ1A9UHY11CFS2Jzc7zkk4/jE7dua7XwhKfaZtvqJj4=@vger.kernel.org X-Gm-Message-State: AOJu0YyHzpdikcb5zTmQdg1ANSsvabsDjBtk9wWsEcFWkOavPzu6gi/c 5SGjO9Tcg1lODWwR6G9TqcDtsxvL8SHPv0dPLkGHqO/Pq1DFzraygbiqE7bMv0nD5Xfr0BQqzEG 6TmQ8TSKEtxD5yzfau9Xon/1KU/8eMvg64olkWxRb1zA0PIEhCjESAbfTE1dPh7DUyBw= X-Gm-Gg: AfdE7ckahbq3C6Rr8/wPAspvXtPZCoZ5tKos+HkkrH6APFovF3He6BMV6gaDINcbP05 qTGsy9fK70P566N7cotTy9RBVM/cdJ9fiOeu82Vr/OXezunhj3x4bg23n0fMbRf4abHNDysNSBF YL2R1xqkKsJC98Dxs8JZc03XXuzvuUZvCJ7TlezuPWZFuCt+DAaPqNymENMnOCU+WiLuV/R9W5/ 6zyYMFUjjaRheccHhVMIT5bzjGFE673lyH3Eaps+0C+3eIRJycX1ItQpWcyR18yg6y/RXsZnS7r nrzA5L+B6VXsdWFtplomnHE6wwigS2c0s8sqXl2wMdUXKyAXnmCLxpmqS24c7R+w4CkVKzFQxk+ GnlGd/ybwVWS3o9QI8MEnj1plTHsdAzBUk7SrHJ9xtd8lBxM= X-Received: by 2002:a17:903:1b27:b0:2ca:16:c169 with SMTP id d9443c01a7336-2cf1f2ee1ccmr94204765ad.12.1784321330726; Fri, 17 Jul 2026 13:48:50 -0700 (PDT) X-Received: by 2002:a17:903:1b27:b0:2ca:16:c169 with SMTP id d9443c01a7336-2cf1f2ee1ccmr94204325ad.12.1784321330304; Fri, 17 Jul 2026 13:48:50 -0700 (PDT) Received: from localhost (c-73-37-105-206.hsd1.or.comcast.net. [73.37.105.206]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf34490c1fsm16779755ad.10.2026.07.17.13.48.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:48:49 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Sashiko , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 01/16] drm/msm: Fix barriers accessing ctx vm Date: Fri, 17 Jul 2026 13:48:17 -0700 Message-ID: <20260717204841.26120-2-robin.clark@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260717204841.26120-1-robin.clark@oss.qualcomm.com> References: <20260717204841.26120-1-robin.clark@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfXwxKruLGvSmY9 /cX/phNnGxIOBZdhQeGEXiwDqi+7/g9QjbVtdTW55I9rwJdqSSXWgG2o5NU+TM/vWMg9RMoUkW+ L0BVIjuInPsegry3wNU+aEdlhc63HKgCr6qOaet0x8DG2yU0KvJRXOqzZ88qiNR8ANtsQ+lIwx0 u+ojDes42ZCEB4qOWRgxT44HM+G/m+hhx7uM5y4hRN39tVeCQsOe9QUpSgMo3fhsIEi/XRbGCLH 41o4+myc2P2EAgIe9weUy2lWVtr35szkA0DDxby2luShd0RzaoeOlFe8jy0LRyjIWYEASrqYGXq s/GQeX7BW2dekq3E/9NHHgaMKw3qB6/VpJfq20Z6yzpVYuctJymRpT8j83MbQRE9KJIZDceJTwS 3xPG9PPq5gT5gX8KYqmFvJzyspozvm91LR5lXe7OL+eRkZvhyepe0XDOTk9QXKUi5V+eyOU/fT5 Bh5rLothFUsyCIREPJw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX7id7bpTu1Rce PVXHfBpjGxTRKtdOI8ntkYWukb2MEPfwx+BO3Bm6+0MOc4kN6DMjxG7A9E+eAitQVV9DhEKiVM4 rdKzV9CX/5Ejp7UbHQJ1Ajwd3usO238= X-Authority-Analysis: v=2.4 cv=KZfidwYD c=1 sm=1 tr=0 ts=6a5a9533 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=PXeb_Y4BrUyLDKu8J0IA:9 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: eVcDNaFsyOmYrXh1kqwsw50GbJJLgNTe X-Proofpoint-ORIG-GUID: eVcDNaFsyOmYrXh1kqwsw50GbJJLgNTe X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_06,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Don't rely on store ordering to protect us from caller seeing a partially initialized vm. Reported-by: Sashiko Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_drv.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 32d5ebea2596..ec88155e0ed7 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -224,18 +224,19 @@ struct drm_gpuvm *msm_context_vm(struct drm_device *dev, struct msm_context *ctx { static DEFINE_MUTEX(init_lock); struct msm_drm_private *priv = dev->dev_private; + struct drm_gpuvm *vm = smp_load_acquire(&ctx->vm); /* Once ctx->vm is created it is valid for the lifetime of the context: */ - if (ctx->vm) - return ctx->vm; + if (vm) + return vm; + + guard(mutex)(&init_lock); - mutex_lock(&init_lock); if (!ctx->vm) { - ctx->vm = msm_gpu_create_private_vm( + vm = msm_gpu_create_private_vm( priv->gpu, current, !ctx->userspace_managed_vm); - + smp_store_release(&ctx->vm, vm); } - mutex_unlock(&init_lock); return ctx->vm; } -- 2.55.0