From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 26F163537F1 for ; Thu, 16 Jul 2026 20:15:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784232952; cv=none; b=YZngqfAqfKiMEbkhtyefqUjHOKFQpK8jqWbr9dDHjQkGGilVjl73uv1EuEqIMnswR+cqL8uIQjXFpG3Og7MMEQDahWyKt63CMhd4QebG8/HfGGfLWOS21hYrWq6eifTM99pZjYLXOvCVf3PI+GIZ613WVOC665V26bUQCoTG/rk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784232952; c=relaxed/simple; bh=GxVogIMhu1mzW4YRsiI52i5vAv+yBYbcef61tqhGQOE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C7aPFVKE21H9Cr/fXq++pFtvCcWg5xuap7AOg6CYpjQ3ssSIVJnoQsXqrwVSiSsk3siy4+MRbMTdsnhYpG0lR/SmQX6y9jJ3Z6y7jHY4Psa/4eLZiSKynLcNRhO1yqUXq5rrSPkB481dg5enRkeruJOv/LNycdFkHSH71XaAV0E= 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=in4g1Utl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=R/gmD/Vm; arc=none smtp.client-ip=205.220.180.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="in4g1Utl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="R/gmD/Vm" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66GJojoL3627112 for ; Thu, 16 Jul 2026 20:15:50 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=YHzHGsRPIUG VAMOUo6qKw+18SGmm5iq6ipy2Wi/zZYE=; b=in4g1Utl1ieeFIZ6MecIVVSwUK8 gfIFKI4yMv1i5RUM9+X6TYJpJEyMsyaLs3NGs+56Is7/rSLJagPtt46OD4qm9nT8 h1n4xzcHMTq5IjUvXcMEkfabwKezxg6HWnez5fVMCpQRHy82hrdiKApKMWMRPIi3 dHge/835nYJGZyV4bDa0+CUOr556zvXfhRxhN79bFzzE5u4Ybtf701auGVvhZ7vL eYleISm8plKVbCMjAQzEXUds4CEnIeAiPfxJ4Poj1L6O9HTfZxyjYEGW9eS9ar75 tUwpQXcC7h7EmVBJYRkQRvqfBUCHDxYcrEdcpCZWKIElTRYtafDVdlXYYaA== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fevkv2ue6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 16 Jul 2026 20:15:49 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2cc86a9ef97so150783735ad.3 for ; Thu, 16 Jul 2026 13:15:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784232949; x=1784837749; 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=YHzHGsRPIUGVAMOUo6qKw+18SGmm5iq6ipy2Wi/zZYE=; b=R/gmD/VmDgtYwoGT7M//0q2a2Fj90K0poBQp6HLVS7/p136yB8SC7PeAclM9rCP0+R 4lHpw2VJKfomQ3xti/MJxleZCOqqBCOO5W3Mzr6zQJaWSMFU+HX/IuxIGEPUXfhWC/Z1 OyLwpeufk5rOII1n9AsGRwBU8qpiycar8exZb/0lPU61hLVbAL+VCP1aDH3McHaLwZrR 4NXorjYPTJQG6bogDgmwFsvkg50jb7WesJNkMep7yJsiTr7mD8vPEPAC3NjAhmBbYizA zgy+HVX8RMPtysHmIG7aW1YeTTFMJfpAr6rNUU9qCPmyHlnF9CuMl2ltKZAf1NvXinSk hR2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784232949; x=1784837749; 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=YHzHGsRPIUGVAMOUo6qKw+18SGmm5iq6ipy2Wi/zZYE=; b=LS5hYV6bGmP6H/XN5bKK8o9JGq8YUhZAX/9IbSAEo7Jahsd50zAc9N0J7DAVRKrIw/ g1QlJKhr3q02K5grJxsGLIN8P89mNiRDO1VaTTivtET48WwvGYWTwktjsd612eCh1b77 qIUIiIH2b6NOZZp0eZT0xmJLaX6RAiKoJ105cOMpfL0uduez6L0nfUi//UqL1oaaLhJd /9FFwcNlZnP9jpqVefRLDSbw9YVHeLOZeTvjptOJx5Pyu98G/PCaN2gzTBYB2FhQuCCZ 1KKnSd8R9Dy6eRIG5zMSJwbq3SIrkOVluzr8CD4EcRp7JMrCwBTf9BUTVjIYPIBu1qIw /aiQ== X-Forwarded-Encrypted: i=1; AHgh+RoNwrLKhZhtYytAhNxmPOUldYen/fAY72I99ERZXypDGmxevOwcM3aR5r6VHeDecDy6jeAPwoULijugetA=@vger.kernel.org X-Gm-Message-State: AOJu0YzKsTCbdkg7tEIKWpwoRYEn7DyXgphPPc/aB/xwW+LTsnp17+kO QnI7JXyZiYqlICoMwlFwnFN65+veefBCxIiXkPUcid7uFdV7CjSHzWRFkZ1CtlfRnFC236GHbxC cdxzS02uqfJuPq3UzmFT0hQ3tJ44chSjwmJJ2YOC7fdZgIfyHfEJXTE484MbEoXnLQF0= X-Gm-Gg: AfdE7cnsTpkK+MJIaftt9hbxRwrqtyryHXpftKJfeRw9A/Q27HckYXTp3Gtqpw1W6ij wWVf8pGk4vi++hZXd2zB6xuoagVqL+sL7GRuRzbtaaJyVjnsXO2J8YxkzocC/7bRIxjfiTwLin8 ntkPRStGwN+j8pTntTF6Z4YL6BJFwvfClQr3bNEHz0lC8AYwEX74RFBspIBrVbENgU+KN13Lrl4 x9vR+E9iXfDzjpZsoJb8MD+xGxvzMEzEiqrutrCVq4jc84kpYhC9Wn+Cz5vSdXQfDDoqOerGbfL 6mjNd8Q/2sTrbOHEIkiZheb3/XbmuQ/8vW0Nb4R5fyGcj/L3iPc4v1AqSugGBl3a8gyUinwGlJv y+9ENbVBIgpvUrVF9E3ca6t5IGNayhxUhqSa5oKVsrLrLd7s= X-Received: by 2002:a17:902:f64d:b0:2ca:5d24:720b with SMTP id d9443c01a7336-2cee9b82e93mr139874085ad.39.1784232948854; Thu, 16 Jul 2026 13:15:48 -0700 (PDT) X-Received: by 2002:a17:902:f64d:b0:2ca:5d24:720b with SMTP id d9443c01a7336-2cee9b82e93mr139873795ad.39.1784232948438; Thu, 16 Jul 2026 13:15:48 -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-2cf10120539sm25289885ad.19.2026.07.16.13.15.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Jul 2026 13:15:47 -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 v5 01/10] drm/msm: Fix barriers accessing ctx vm Date: Thu, 16 Jul 2026 13:15:24 -0700 Message-ID: <20260716201538.365824-2-robin.clark@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260716201538.365824-1-robin.clark@oss.qualcomm.com> References: <20260716201538.365824-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: AW1haW4tMjYwNzE2MDIwNiBTYWx0ZWRfX0hDOoY/xVtun kuGQKVlIShGm1K8C014uk+YLtZEieKI9FDMwPEXDfkPwAqkw7mJxKvUy5NxWd2400tOLYtfQHBf LvF2xdjkXqBa06I+CEx6W2f+TxSJPqIVfzCoYc52bs/PyGzFej+kPCl1qDJW8+VGRYGd+tsCEeV alms2arfDB1vPlZ97cqOJ7Q1B1tKp5sArGbFnQTTHv49UOkJPM8yHAg7hhnA2PwP+bRFsoZVwM1 SwSjy4ZzVX+HpkEirThClt4nHStNG4V5mqc3WzZPFl6ueArq1rJM4Wwbxow19/Zcun10lt4ZxXr iq0nV8STTG7kWZExoNZtRLJsU1Xc4w6BsWEEaKaVPcSuP0rZ0CL+0katOR+9aamku2VxEn+AQZ+ HgVV/CY9ZLN82AeyMkGn60xXDpXYXmga+OhNZ2H32Dw/gkEQMc9qSl8ZkE1Rla53dfcbzTqas+e TS/T5Y2cXGnd2VPt0EA== X-Authority-Analysis: v=2.4 cv=WrEb99fv c=1 sm=1 tr=0 ts=6a593bf5 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=PXeb_Y4BrUyLDKu8J0IA:9 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-GUID: VxW0eSxgDPIW9mjB4gQdpy4y0YPfzfwp X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE2MDIwNiBTYWx0ZWRfX2DL4SI1vfc4S U5vLsgj4CFn34wB4TVZi1dpEZi+0YRJwD37POZgu4rldilS2RJhvBi2+OGo3m/cBIN6LViZqvyS U5GEWPmOeanpxXBKPKXR3dr0DRidqrU= X-Proofpoint-ORIG-GUID: VxW0eSxgDPIW9mjB4gQdpy4y0YPfzfwp 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-16_07,2026-07-15_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 priorityscore=1501 adultscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607160206 Don't rely on store ordering to protect us from caller seeing a partially initialized vm. Reported-by: Sashiko Fixes: feb8ef4636a4 ("drm/msm: Add opt-in for VM_BIND") 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