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 4235C3EC806 for ; Wed, 29 Jul 2026 15:56:55 +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=1785340616; cv=none; b=M6ekGauEr2baBY/Pv5JhHGf9haKno3kGkNcWJp2CSt541opOQzdKSRlrE4v+x/phY04HbYewFrkH7Mn2N5hu+xKY5Yu7wSu5cCY1sGvHyWaVFET0QUeo0nXFB2r5Y+HMxmSN4LsHO16vVgLyn/OxgPL9xHDbF++lZNxMSCOLWPg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785340616; c=relaxed/simple; bh=x6iVVANElOzzftScgIHxMzDKlbc0yJweoGktavR7ooE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GAc5A4Rojo2uR6zHqFwAocZ6qcueC/goVQ2qO6n50liwfLv7YbZIsCofTIUrlTEcEaI9pEo9Z0GNlg0V9lQaGe6CmmBfr4jsgEuc/VuvUR5pDMjKPTsNWmqs5NYpsT+805lWqSWs3oh1PqX5pY6Raed0yDjWoe5hzhkcNilCwWg= 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=K24YfTFI; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=g7G9TrrB; 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="K24YfTFI"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="g7G9TrrB" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66TF3dE62412564 for ; Wed, 29 Jul 2026 15:56:54 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=K24YfTFI+CLqhUK1gVVXSJFSSPH x13wMrLdC5xvYp26gD36kRWGFdhbiw3sWvctLYNDk3JLMWB+Cx2XAvOwWRfvXmU1 1jiDqIS5G5T7dEsvS7wj95JPnmh4xzn+fZ/DJu52y5WWfMzUD3tI34IUXKpWgXo7 UoDHZHILcY9hwH62wZHtRF4wkcaQH8VaTTeIMVc/9U20As8NHF8Xv6G2UMcNa+CI z/Bgvb3ab9xv400jGzQffY3XLqO3SB5BTOU8rzKLnl2A8eFp4lFp3aWLyQJQKXqG B0Mo4NR/v+NXWbOxmifkfDtwxoQVAokczisv8uRwcqkWNuLTS76olq1tRRw== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fqh3gh6xs-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 29 Jul 2026 15:56:53 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-8484ba00601so1304030b3a.1 for ; Wed, 29 Jul 2026 08:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785340613; x=1785945413; 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=g7G9TrrBBjAaKZhnmjGshte6dfSWuhEuaG9ZjiALvNojN5dm/R/2kneTVstG3P1eS4 9dCTZrAx7QUlyl39/mxVvd6jNAVhW3Q2sFPCpkkMPHVAc9zCqqu++nyY6iMzYpdSkuAB ID8q5Bh+TQ6Fvtac6oomSonhp30r/TfiHaBVQWbprdfC/GFsD6n7AzVAmx0FOcllzBVr 4h1rOPCAEyOEwHMUXyUot9ahdycgNYhBfFgPC9riGGe6W0Jr/I/qAFMNzMIj4ThLlYcK jDtz7ZqQhMflot8PeJXQCeTh9OdDjn8AcFhPM3a3ktBeAzrgwy5nXy69vFtxAsbdpAsY upKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785340613; x=1785945413; 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=bfoxeB4OQ/IZ9ncWOVCjGfn7R7LRXmoMXsoBZjeqmdLEfiQBikqh3r5zS1PwytiCqW fpeodI1lDEFXzUd9qPkFLYX9vZLyqRpauBnFWkYhgqB38CmJcT0Wn+gMLufiW7G95Pmi bR+JDKyKFUOfJmkN4TY7hFqwmZG5SuACWYulrypT/yNDGa6G0tgeboaKEOF9vDP2kSHe wKAxSAKcaGgHI0o/mAi3ybKzTBpdpgoaE3z6YdR7xTIZN0+FyjqVB/Fgm8hHVrgaWPBD 06zfD2V6Qt201DwzPa/cRveK+AgADP/MlxUMB+yPDu0Z7Xl5z6ojenPo1k6oQxYdag/t whPg== X-Forwarded-Encrypted: i=1; AHgh+Ro3UeuJV/XPTHwVYZEoxhZ8bjwlcsgeMu0fL54RdV9EsckGakvDfk+lAavvtUls58mHYXJPO5xbj8ppnFM=@vger.kernel.org X-Gm-Message-State: AOJu0Yyt43pcqOtKYujGH43+CuOLSF9zasEek2ysgy3X8FD2XBnGoY6D zEGwi1XBE1FrAlcLs0xLZVpIpGw7wCgHTEssWBV/Q5BUIxeVV8MaHeY9m/WCsAU45A4lLUmw2rV 4FHqVRt2yNmb04LPzh0kyxsK4Ee5Q2dc0ASDDWbf522H2VeRGzM9sGfbTUOP7TbAIvHA= X-Gm-Gg: AR+sD12MLlB09MQ0+cE268ENeq7k1JVJg3tjT+1hhm7uiGgpOtmga8kMl/UziXA2ImU 5DBsiNXm+jlGKtD3mPcygGsfYVjSqHqu55Nt4rXrnloibHvpAun1XXlu6g0BXmYsT4d+km+A8iV AUcIc+q5GHq8tdCwklRzNtdKjNqncMQpf/X8KIKn4+fiBgkO98ECqfEycsnwYIIns9vevmQ4Mf/ dIRg/M8UjvgkXZJ6g6z0o1S6KIcgYhAA9zoSLLZh1B5cVkgkSeItAeauA6iq4grfRfj3vWSGZuI mbv9lMt5Jixn1hEYTsv1DM6lieSOft6L7OdZY3PWifXLe7IsQibdbso/kcKYqF6dIloMRmttrpY SOS78agpIVb1n6X01o9MpMfO5vbFSS7l9+iyZNpsacpPPsbE= X-Received: by 2002:a05:6a00:2308:b0:845:31a6:d84d with SMTP id d2e1a72fcca58-84e932ca8d4mr7961116b3a.7.1785340612786; Wed, 29 Jul 2026 08:56:52 -0700 (PDT) X-Received: by 2002:a05:6a00:2308:b0:845:31a6:d84d with SMTP id d2e1a72fcca58-84e932ca8d4mr7961099b3a.7.1785340612342; Wed, 29 Jul 2026 08:56:52 -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 d2e1a72fcca58-84ea0301b3csm1604311b3a.34.2026.07.29.08.56.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jul 2026 08:56:51 -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 v7 01/17] drm/msm: Fix barriers accessing ctx vm Date: Wed, 29 Jul 2026 08:55:38 -0700 Message-ID: <20260729155609.20190-2-robin.clark@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260729155609.20190-1-robin.clark@oss.qualcomm.com> References: <20260729155609.20190-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: AW1haW4tMjYwNzI5MDEyNyBTYWx0ZWRfX+4ah/ed4SKRY y+AGKiXaIUjdrQqX5wWZWvL63czEoNaeUbcPnJ5+UBk2QskpfFMPpbRb2dLrsdL1BsPafjSYrvz hCCRPMSvN8wha4W/CDpnYwwSaxQOGIvCfc8rMvIIIgQ0Cwc+1ndPIE1p513LyGQcxgiNnj6W/r9 L3llwQduBE0yenBW78FGSYU70F9UNT67uiAgp1fjfgEUzwAZMLSZj8af1C6tfiewgEPGTBcV7yO OiIeO7rr7GQ8lvXvYZ6M7igumUPWuj9M6bsqIwSP8neKTDL8rNqitEFDOt+yZj+dXP/WHV2K6UA OpM1CrXFSmgGNgfIvO9zCNnV0cnaQdpjahewDe1UIxowxpiyu59kgWGsvOCJVTb25Yv4gO5ghhh hJuIryRoV3iaGjsU4D9GtPBwqfJV/hsiEw6dVWJR0yb+8ojzOAhAldTl+R75B8Z1s2tE2oKz1RQ Hj0rl0U2jPc4zMQl6rQ== X-Proofpoint-ORIG-GUID: a4M_SM_xJWQD1OeuKTe749uX7LZXA0kY X-Authority-Analysis: v=2.4 cv=EOw2FVZC c=1 sm=1 tr=0 ts=6a6a22c5 cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=PXeb_Y4BrUyLDKu8J0IA:9 a=IoOABgeZipijB_acs4fv:22 X-Proofpoint-GUID: a4M_SM_xJWQD1OeuKTe749uX7LZXA0kY X-Proofpoint-Spam-Info: AW1haW4tMjYwNzI5MDEyNyBTYWx0ZWRfX+ro8ufWBORA8 /dnI+Ez3fHZyvhzDiRwgKiJZCKSeTYGkRQavs03x5Nl4EUiM8DAzB12bp/kQVL/YRhj3FRWgwoi A4vYzp+Cd2ZbIpYOgyZZuFsA5wQDr1Q= 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-29_06,2026-07-29_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 suspectscore=0 malwarescore=0 spamscore=0 impostorscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607290127 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