From nobody Sat Jul 25 04:53:42 2026 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: quoted-printable 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 Content-Type: text/plain; charset="utf-8" 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 *d= ev, struct msm_context *ctx { static DEFINE_MUTEX(init_lock); struct msm_drm_private *priv =3D dev->dev_private; + struct drm_gpuvm *vm =3D smp_load_acquire(&ctx->vm); =20 /* 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); =20 - mutex_lock(&init_lock); if (!ctx->vm) { - ctx->vm =3D msm_gpu_create_private_vm( + vm =3D msm_gpu_create_private_vm( priv->gpu, current, !ctx->userspace_managed_vm); - + smp_store_release(&ctx->vm, vm); } - mutex_unlock(&init_lock); =20 return ctx->vm; } --=20 2.55.0 From nobody Sat Jul 25 04:53:42 2026 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 B70DB389455 for ; Fri, 17 Jul 2026 20:48:53 +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=1784321335; cv=none; b=riIy9vmkUV7/DhYnWCTkAD/dplbm3YmVlWP0JqNJcfCwX/6uHjNq5eI3nqsG3pD3t+BZTeAe9Dx2vZd91HzjPa9QK1V2J6o+FFaHzovPYOTOOXHIdmGhZxn0AP4ZL53nkVU2BNMtggzWDJE4/HLd/9mYc5CZrQdHSU2C1M6dxJk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321335; c=relaxed/simple; bh=/3bqSJFB87g3YyDDP7AkU7aDRmxHIev5pH2eJsJSsIE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ibE+DFsLsfHC6rnUKwUSrtzVQLNXhorDOSQ/oZdRmIjnxbGUgmQqyIruu1SvP9B7nLM10K7C1VvQoCVgE8KiNzE/3nPwTvZGNJQQSo81ocMCPWcHeZ/OposmwSvv0e26L4W24CIcXJ32R1SAo/5eCMVtIAEPPDe2W3FfUzShPMY= 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=E22jaByj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SzS7ACmw; 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="E22jaByj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SzS7ACmw" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtHAQ3901362 for ; Fri, 17 Jul 2026 20:48:53 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=CCt/FUCHkSx E63Ah7s7mIN0CuS0Ln8VYXya9PKCt1vg=; b=E22jaByjasWkOCk0HKNaWi8ncn8 1DRpNa25wDeziZu9H9KRtnJ1///s2FpxAXj3JfXjJDgxRYQWlJrKORdbU3LEGTwc qiGvO6YS2F3MjMYvaHhTqR1B0nZ2lCYwXSwnKt/EKOYhUQTE0aH7SYcfXq3lUoph qGqMlx64rXDCsulGTHwkcGpyxtIZjaBXHZscUHYCStGCexh22jwMqmY2/LhNtik0 +bQRSf53ffUzUAVEKfNtc4j+9sXIxtU14tK3GfhMNr2FrYXUWBAKM/AOSO9wNNzq VA3Z2tYkAXv6ySiQeO4h29WZckGhCn1Qe+oU0soOa/NnjVbtJqrtptYZeXg== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffqvf90ag-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:48:53 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cee1ec30f2so67016675ad.3 for ; Fri, 17 Jul 2026 13:48:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321332; x=1784926132; 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=CCt/FUCHkSxE63Ah7s7mIN0CuS0Ln8VYXya9PKCt1vg=; b=SzS7ACmwjTqTywWrgDiTFQJhphdMc6sIMWW/k47EZDFe6V1UY6bGh0ppMVfScvtJ6O QzCcR3kN2ZBDg9ZCJUWUSYzpSDMxZLn4snIYavrNpi+/ikjcUNMG+9zz/VqeQTj09FoX fv8Iu/1BCMQh82SMDzSHStoMcp45KHYFJ5jSDNZonKyVWTbsgHLA2itfojxKlc/alMHu U/qYBdvgE+5ltiqbvygraPwFRnIluZO1hdO9Wl7eIQRlev1Hlo+7rqChY+ZWk4NOuEJG Hw3cJ9p8PoMVaoKJT49uUFMHowlOjryiL9Ovk7EQ107vKqe0fl7ytxQXXHJgwUFA6FiD MAiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321332; x=1784926132; 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=CCt/FUCHkSxE63Ah7s7mIN0CuS0Ln8VYXya9PKCt1vg=; b=PsAxo93qFiEakByODftPp7+jEX4IoBeuryF7TXJ6b4lfEf9IlJ1IuPN9WXb6celn+K fwpeLf+VQ1zIwVxUoaQxhx6A9MzihwcofXsL0gEK2VhtEGg/mxZcdv+EUvSH3w5Ii+zb QIhW6rq1OOJLi4B3YfDZxt5qI3ctpps6Qx6tQkw6OpFYWRHyCft4Cy7Q5wZNSkEMlz+u QOK4gPa+k9FpKC7yXTCJobr9HGfQwbVCrsoKiXPed+ISXAR0HivBzHxoMlV3k7MWW4aQ FB/rapD8IrFmvENGWXC/5gQLC8Yc84E2VOYDy7b0bpUERUBnfkFOERHexGM7pO/fkfzn hXTQ== X-Forwarded-Encrypted: i=1; AHgh+RokfmXPPY0S5uBLVYn5OH5uM9CDsuW3ZVnf7kkqXRosgMlkCy6/sZVm0OODnOwLtEbJOglSCbInPPTLpxo=@vger.kernel.org X-Gm-Message-State: AOJu0YwZuO1tOEO9BadUsvKKIWS1UN77ugJlUBMesooub5iHmGh5VuaM cd1yXc/e9GrcoxR1jvb8Wh/RW9qCsAEEPdauB9jFl4pkEAo6hQUMoTJ7W5qeRueZMEA1HNugDnn LNyb/vMa2RRKWNITitCM+WHTXeUGnJF+uZ5UoKzz69Rn33oI94qNw4fsSzVMDAvCETWk= X-Gm-Gg: AfdE7cl/J/ztXFv2sr7xDy51yV56hD0Cx9aqL7Er8O2IuDuVkg8c4VEMIFpaSGkUMWC czKcsDspacFayHQVvC19a2bEtWd8RItv1Ri/kPJaBBQIZFqc72RCipFVGY+bvhvCnJepZfcBGbA pJnuMFPHhFJ7JOqbKVVwzKkN52snhzELysdRpUedb92PsMgogjC/2qCpDU93JYs0uR/7ZZShy8c cnnDYJBafdisbfBUaCzztMUiZexYX7iSpi0SsU8jfhGW+NhokSZc7q925y54x4II3en+Z+XiDTh fEo2c0UKoIfVAMJWpZPykOQe0IUv+7bqni+JMcq1Mw9n9OHnTZPgtzuc2UpWi2wxH5XCQID79lM AvzUh1Y4vrp0fGXM2p5DNg8pG4lM6MYDMaSpUQuGqKp+egtU= X-Received: by 2002:a17:903:324e:b0:2ca:6514:9201 with SMTP id d9443c01a7336-2cf3486f1ffmr48129495ad.15.1784321332361; Fri, 17 Jul 2026 13:48:52 -0700 (PDT) X-Received: by 2002:a17:903:324e:b0:2ca:6514:9201 with SMTP id d9443c01a7336-2cf3486f1ffmr48129295ad.15.1784321331921; Fri, 17 Jul 2026 13:48:51 -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-2cf34713fe1sm16812945ad.55.2026.07.17.13.48.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:48: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 , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Konrad Dybcio , Akhil P Oommen , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 02/16] drm/msm: Rework queuelock Date: Fri, 17 Jul 2026 13:48:18 -0700 Message-ID: <20260717204841.26120-3-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: quoted-printable X-Proofpoint-GUID: _C4QL7_PUkvQE82WYwD5r8gCXmFvSsEs X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX5lfxFq1q8NhP 3EvAu7ZpEBI1oMN6ZNk6pKAsfGL1T0m+niAn1X/ieeaP5Q9z1+HEPrWMheKTge3ANfDmLRgoKdb PTjCCXfI+ondwSCTp15jGXEBfwQ48KgRegHiR88P56q4cGKnlb6Y6QqO5UTsYGZJaOXAKmw13NG WnPMLxbJ0Bw4DK9CnoTnUyt+WuXKG3jS0+1E2KtnlSE04gLfH7TCVMs1hua0b0vjslyq4UDi3mw +X0bLR+c3Iu8dKIdbs4UfX/bQR2kg/jCyVs2qkXCutGyUHa6kotLJdU4rDdAa6xLIYUDMTrf31g v8VT5Kc8i3R+bQhuk/M07vtfizG6pFqDWDx6RHKaXONE7XPERdd5R6IFyqKS87q1g/joZ61ASGl kpKTxwjVzezQM1wtcxXntstHp7Cm2YG5aTV9UzWNHDbCGH5oOVFFJWyIMnUJ3kFTzk4NkJIDwbf p/5Y2eBb1ccc739XygA== X-Proofpoint-ORIG-GUID: _C4QL7_PUkvQE82WYwD5r8gCXmFvSsEs X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX0l5bXd+QEYh9 0pmyYVQ75l3I2F9ismjhXtwI5nDK9DP0qmMMIFRRE3CYBuyGRK8dJYI/BQkYwx5yQ0X19g4PLIC 3eEXQt+EjOP/M9ERbV40Mzsh4khvJSQ= X-Authority-Analysis: v=2.4 cv=OPMXGyaB c=1 sm=1 tr=0 ts=6a5a9535 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=2F56w5eUDQPWH_qpgLoA:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 a=uG9DUKGECoFWVXl0Dc02:22 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 impostorscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 suspectscore=0 adultscore=0 phishscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" Rename to ctxlock, and use cleanup guards to manage releasing the lock. This will let us re-use it for other per-context read/write serial- ization, such as VM creation. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_drv.c | 2 +- drivers/gpu/drm/msm/msm_gpu.h | 4 ++-- drivers/gpu/drm/msm/msm_submitqueue.c | 14 +++----------- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index ec88155e0ed7..384f32f4d0c2 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -251,7 +251,7 @@ static int context_init(struct drm_device *dev, struct = drm_file *file) return -ENOMEM; =20 INIT_LIST_HEAD(&ctx->submitqueues); - rwlock_init(&ctx->queuelock); + init_rwsem(&ctx->ctxlock); =20 kref_init(&ctx->ref); msm_submitqueue_init(dev, ctx); diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h index 6c83b8cbbb90..d27d54bdb7a7 100644 --- a/drivers/gpu/drm/msm/msm_gpu.h +++ b/drivers/gpu/drm/msm/msm_gpu.h @@ -392,8 +392,8 @@ msm_gpu_sysprof_no_ifpc(struct msm_gpu *gpu) * struct msm_context - per-drm_file context */ struct msm_context { - /** @queuelock: synchronizes access to submitqueues list */ - rwlock_t queuelock; + /** @ctxlock: synchronizes access to submitqueues list, etc */ + struct rw_semaphore ctxlock; /** @submitqueues: list of &msm_gpu_submitqueue created by userspace */ struct list_head submitqueues; /** diff --git a/drivers/gpu/drm/msm/msm_submitqueue.c b/drivers/gpu/drm/msm/ms= m_submitqueue.c index 1a5a77b28016..8b5980d5a6a7 100644 --- a/drivers/gpu/drm/msm/msm_submitqueue.c +++ b/drivers/gpu/drm/msm/msm_submitqueue.c @@ -93,18 +93,15 @@ struct msm_gpu_submitqueue *msm_submitqueue_get(struct = msm_context *ctx, if (!ctx) return NULL; =20 - read_lock(&ctx->queuelock); + guard(rwsem_read)(&ctx->ctxlock); =20 list_for_each_entry(entry, &ctx->submitqueues, node) { if (entry->id =3D=3D id) { kref_get(&entry->ref); - read_unlock(&ctx->queuelock); - return entry; } } =20 - read_unlock(&ctx->queuelock); return NULL; } =20 @@ -237,7 +234,7 @@ int msm_submitqueue_create(struct drm_device *drm, stru= ct msm_context *ctx, return ret; } =20 - write_lock(&ctx->queuelock); + guard(rwsem_write)(&ctx->ctxlock); =20 queue->ctx =3D msm_context_get(ctx); queue->id =3D ctx->queueid++; @@ -251,8 +248,6 @@ int msm_submitqueue_create(struct drm_device *drm, stru= ct msm_context *ctx, =20 list_add_tail(&queue->node, &ctx->submitqueues); =20 - write_unlock(&ctx->queuelock); - return 0; } =20 @@ -335,19 +330,16 @@ int msm_submitqueue_remove(struct msm_context *ctx, u= 32 id) if (!id) return -ENOENT; =20 - write_lock(&ctx->queuelock); + guard(rwsem_write)(&ctx->ctxlock); =20 list_for_each_entry(entry, &ctx->submitqueues, node) { if (entry->id =3D=3D id) { list_del(&entry->node); - write_unlock(&ctx->queuelock); - msm_submitqueue_put(entry); return 0; } } =20 - write_unlock(&ctx->queuelock); return -ENOENT; } =20 --=20 2.55.0 From nobody Sat Jul 25 04:53:42 2026 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 981C237E5FD for ; Fri, 17 Jul 2026 20:48:56 +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=1784321340; cv=none; b=BDcfeeJwklWyrSiCIT/N+TYA/AczAsX/dsqE3gP3YsUNJz02WffOls6Bjbi2Cbdojt8h8XJ7YDrZQ92UFyEzEgvmPPD4JMg7fR9PuKYRmZZFf73oPyIzQVCv4jvYB8j4xtWRAwIeSV+CDUUyBcML9SnpouqFqPDIFY5yfop4lpY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321340; c=relaxed/simple; bh=haNJTpsgx0TlfqzWawzbQIaFPz/UgQjWPCitxeNqB0U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HcuHVVR6Ib0Ya/PQ6Ciy10l1+6bwEejrvvLGfWUf5IGmGB9mozY2xTKRlR5bB9k7zPxg4WWGP3Cnc9XuNcKrTSE17fnB5zf6tsqYBCYxEIbjHrzOZarDH99i4vMn16oO5iTAdwIbTYaNa33/e2xMpGeBl1iQX54ZI1D2XnHoF3Q= 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=k8vPbl+3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UpOrkmKZ; 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="k8vPbl+3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UpOrkmKZ" 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 66HJtdXJ2906447 for ; Fri, 17 Jul 2026 20:48:55 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=mmTWztalT6h ryopRPQtckYmk1TcKP24H1NmDD4Vro7c=; b=k8vPbl+3ghmkQzJz6iXYBtAIFzB hTY5NspubI+xmijA/Xe3jfLpI881J1FrfyPE1wvkgdUxVK4EZ/JSnL8xV0vEfMV7 VcQlbncZuSERz3uTa2Mn5CUUVnWv+t4wHX0wE7GVkGUSLFXPm2G29DD70yToP58R PkY8X36l1TTTRPwXisAPJod7bCu4zfISwMMm4+XnpOY8auUpDcaHRRBHY9rDPluG qQCb5C3sXvpRDrn/HIW1CPuQdb8nu8+LWK5WGQfMR5D7sEHTez9SQDTGPUHij8Mj xLvrT6Vco/GC3kbtQ6kkskRNWfri7JgIEy9a7ZJ6A2i8dRK3lBmKm5U4wzw== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffrsq8rd3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:48:55 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-c9667280edeso9502200a12.2 for ; Fri, 17 Jul 2026 13:48:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321334; x=1784926134; 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=mmTWztalT6hryopRPQtckYmk1TcKP24H1NmDD4Vro7c=; b=UpOrkmKZ++HG9PpulzBADq2RZVHz1b6lBznUjTSLw2Wo8jmqSjahDNoB2owtjhqHj0 R1Qz0Vn4GTZpqHune8rNE4+gzC9Mr8EkM7j1xcRLRGnlIUZ/sbuorw4J8VFWQaJPmi/T JHL1Ht8e4gscMJqLqcA+r8ZqzW4yu0BGMnyJh6PaSuLOZ585VoGCdB6DKer8ovw9u8su J5P6m1NVClXj9ic2Z6Pmwo/wphNrfx4PdhNdM0kUbaZRd0hK5VpYHwRTluTElQzLCkHD kt14E92Cb1RW1ZCOk1tmK+zIiwuIjvsCxVAK4klFNISykVqeovrT8cictCcnKq4Hqj4P G0Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321334; x=1784926134; 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=mmTWztalT6hryopRPQtckYmk1TcKP24H1NmDD4Vro7c=; b=WY7G3TeasB8+5bGsUkNNS1FwuJ1RoDmqoJRHlFbenJux1BAHcn5A6VrnivFtEth6FO svW1Xfst1GcoHkbQ3w3isGtRTxwbLmtaBXgZPlFKwDw47B/d+A801BXLHA1r1tQ/vpgK aVy/vGdY32v058P+430QdeAvYMJxvzRRPk9Zn1zmC+25ntfFqUMxnqMKl6NKq2vyPwXk lnPyyaWGDJnaDPsTJwqMKGewlXm71K/0VVoejKMWIvKLRyB2gwf5ChkobCLuLqNOV07n sLXQ5Prmp5qAtlLz5WOcB5Pkq7xWo83CEvA0iHpFYUZjJeo2Af7ra8ohKCnQEA/iJBPk FRqQ== X-Forwarded-Encrypted: i=1; AHgh+RqjyYIjAbUJzIgTT2t+fez51R+PlLqeKoQZ0h02RJiAIPSNfKcj9ynZO1d4oEDsTIcO3mEuY9PRvKPw0aI=@vger.kernel.org X-Gm-Message-State: AOJu0Yzo4NXzPtmsee2DtCSdB1S3YPFKj1p53xo+KPi+wYx8lDmvsHEp aZXgRDkT4J1J00D6uuy5EmzmJa1hxdgGHtkqTc6nbPYPmvBRtqyiJWX4cMPr+XDXmBl4igKCbXd 9XsqTv/BTYXP9WRJGY1TIhFT1xTIEd7ocHuMU5O/+ski2OLq7V9b/dM2UgXpHy2xTsSg= X-Gm-Gg: AfdE7cmC5uzcmGtWewB1jv/PHPLKtqrznR0v3FZMFDAMXR14uFe1wd5fAGcywb/cnLR sFOBhQDqU8mASPSz0K5cTV3f1ZDdZ/6lIn6JpowxEVRxP922fDXdopQgEKiOG1ZwejG2Ul16vB5 4rEK8BdPDDgjbrWtCRneoMyhz41Mcdia/iget8j1mTMyngdD+oy7YqTtKnHijFodij5r011C1vw Xdj2MWBjZl1e/10Oupqcn2rTx2GaKiaOU7hNxzBPIHtswONuU2xPcyRktVjtpiHMqZ34uw6m4ik sNIm0DRKyFcZLis756oV8aKvfDaz15bzFWaRP60RJhCVn0lhd6sCnWiS+x+Mt0zElzjLbZFI/y+ AKtqlwbJrNSLXQxCSnbtm/yV7xdQ4W/03IWcw3/TRmnlClHk= X-Received: by 2002:a05:6a20:430f:b0:3c0:9c18:d5a4 with SMTP id adf61e73a8af0-3c3ad997edbmr4549942637.65.1784321334282; Fri, 17 Jul 2026 13:48:54 -0700 (PDT) X-Received: by 2002:a05:6a20:430f:b0:3c0:9c18:d5a4 with SMTP id adf61e73a8af0-3c3ad997edbmr4549915637.65.1784321333859; Fri, 17 Jul 2026 13:48:53 -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 41be03b00d2f7-cb517f8f77dsm1397778a12.11.2026.07.17.13.48.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:48:52 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 03/16] drm/msm: Synchronize VM creation on ctxlock Date: Fri, 17 Jul 2026 13:48:19 -0700 Message-ID: <20260717204841.26120-4-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: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX1EEylThZxp8e Ifp9tGlBaf8xSuOCr18NKqk3KEHbQrszy8kUdPdA69fDHeaao7S559AXBoZOnreDvkQ1O4gVt2X 6V59190EILKE1MXKWwRmsRaqbifZqD8= X-Proofpoint-ORIG-GUID: HPCxq5rybVSSinIyVJYi70-yOWod9S-U X-Proofpoint-GUID: HPCxq5rybVSSinIyVJYi70-yOWod9S-U X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX0gJo1/e/qVXI 29wrvO2bZGuMFfFmpQRb7jU6j/af6jk7PqvuC57ZpxXUXYiGvSqYZTEYGRMF5QEeYHMG2SWWO8N /uBDu111BCoC/iCR2ORhpbzAP1C7ArleZ42DLq8jGOd5SwJGM0G6uMjL93XAy5afsCzG5FnBz2j MJsG9e293L2gPtzx6JMg4G6md9YRQPnZ4bFtMauX07jDv0l3t0XIXYrjFtIL8aJf5yHS8JBT5M5 /OXR+Uzy61/2ImyliWswI0640UQ5QFq8jq6+8BTHlSnzSMFRoN0ImjaSqYpCZx3m6PRuwUTVRFP NDiH5lmBWbGwE6xUar3N63GLLXDtz6eW76PQR/6f8KK1X1tiX69vkqqrNy3PcR5RVahzPJrm1ID d82LbG701GWPuPeX4cpLdWCX7TkNnn3kCQkixJp27y2iPcREWX+qiuuFUJkaDiyMgGCM5WJrVPe lV6oSUsKDYmolQHY3gQ== X-Authority-Analysis: v=2.4 cv=OJIXGyaB c=1 sm=1 tr=0 ts=6a5a9537 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=Hu6Oc1eQfK70imYNBQsA:9 a=+jEqtf1s3R9VXZ0wqowq2kgwd+I=:19 a=x9snwWr2DeNwDh03kgHS:22 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 impostorscore=0 phishscore=0 bulkscore=0 suspectscore=0 adultscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" And serialize setting EN_VM_BIND against VM creation. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 5 ++++- drivers/gpu/drm/msm/msm_drv.c | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/= adreno/adreno_gpu.c index c62c45bb0ddb..0d54141ff089 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -503,7 +503,9 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_co= ntext *ctx, if (!perfmon_capable()) return UERR(EPERM, drm, "invalid permissions"); return msm_context_set_sysprof(ctx, gpu, value); - case MSM_PARAM_EN_VM_BIND: + case MSM_PARAM_EN_VM_BIND: { + guard(rwsem_read)(&ctx->ctxlock); + /* We can only support VM_BIND with per-process pgtables: */ if (ctx->vm =3D=3D gpu->vm) return UERR(EINVAL, drm, "requires per-process pgtables"); @@ -518,6 +520,7 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_co= ntext *ctx, ctx->userspace_managed_vm =3D value; =20 return 0; + } default: return UERR(EINVAL, drm, "%s: invalid param: %u", gpu->name, param); } diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 384f32f4d0c2..2fd1b717d8e6 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -222,7 +222,6 @@ static void load_gpu(struct drm_device *dev) */ struct drm_gpuvm *msm_context_vm(struct drm_device *dev, struct msm_contex= t *ctx) { - static DEFINE_MUTEX(init_lock); struct msm_drm_private *priv =3D dev->dev_private; struct drm_gpuvm *vm =3D smp_load_acquire(&ctx->vm); =20 @@ -230,7 +229,7 @@ struct drm_gpuvm *msm_context_vm(struct drm_device *dev= , struct msm_context *ctx if (vm) return vm; =20 - guard(mutex)(&init_lock); + guard(rwsem_write)(&ctx->ctxlock); =20 if (!ctx->vm) { vm =3D msm_gpu_create_private_vm( --=20 2.55.0 From nobody Sat Jul 25 04:53:42 2026 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 9E63835AC32 for ; Fri, 17 Jul 2026 20:48:57 +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=1784321339; cv=none; b=ALOGdGy3tvquQ+ya3GHj8/PUfrmzErOh7sCaz6R1NFSwrcLK0LQ903NVuGvTEm1ZJ6JotMLWK2spU2xGm38lQSJCTSOksgBvAo79AuoFyOFQuYQZguB7JHny6Cy0y/Mc0p5BNKyKHPImFHb/Vg/dA6JtHvfuhRcf3GG3j7DPlbA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321339; c=relaxed/simple; bh=wZufhlf2OrTXiXq8s7psP10WRX750jNvVBTi3KYm6Ro=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ACY2xlSMNySA/hpNMLU/WEyfClfpUao30vTKK4uT7dBmrsH7AlZeoWYuIOpVcsVzThg8PMpiZ/VzQVbjosWD7OWe8JZWJXe8qCngkqzvJ5QOmpvUDeEZ7pTDqPCvIN/FJe22CWF74nDH2X/Phh9KZm7301iRUf4wOe9lvYrMEUI= 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=hEVnMuB7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cbms/t05; 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="hEVnMuB7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cbms/t05" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtaee2780359 for ; Fri, 17 Jul 2026 20:48:56 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=Ss8T08lcQRu h4LT8qU7cdiXED4Y+cvXcR0q697Hi17o=; b=hEVnMuB7JH37W5cfKsOLBno8Ef+ 94Q/ZxE9MwpMWvrnzYCxagCyucP5XO9OyUb5dA+IT9jl78roqA4Vwj/Rz6x7R0ni XFAXvdztczHynVLnsFP9QuluXxaPv8xhQEBXsex3BZCNVMltbrBZuGSvNL/age65 iJhAn1fbiLHFnnMW+h6s2xe4ogrfxM0c19CXNfNAtgEeROW1Q5u5k4uTEw6eeUWT 2p7T8P+0lMVetpGHFruP3wsfcEk0+qi7XHPG7RtxRgRwz1RLSUHedV9mm+8ZodK/ ZPNqfevnPGMDNCkZNwvQ5gpAoGVz5J5KUjBjiFFHijNBiMMYjnYqnILd7Gg== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fff9gua54-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:48:56 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-cb4cdf95b5aso2699485a12.1 for ; Fri, 17 Jul 2026 13:48:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321335; x=1784926135; 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=Ss8T08lcQRuh4LT8qU7cdiXED4Y+cvXcR0q697Hi17o=; b=cbms/t05DbIC217A9BSQXNco0jonc9pH4gRhnmU1LayNMj0J2PoiJ7cKw+aw8O1VJE 0jHSp4pwQ5f012w2OTDd7oVsfl6UHjeJArwqs1dPE88dC7mdhfR3l0NqSj+WQtlmmY/f u6FW7AztLYUu+WajQOPKUMCkQBA8SlP5kthDF7U83mo5pNtOU+rjmhzPdpf+DVB+VQVW jCUeJDwc6rk1tv7elHIfrIXQ3Qelmuumu71m1OtNXcfRTRLpV2JmDNbek2VcmW2jYCvb zIeanuC+WW8znGfjEQvswQQeYweCpCpElIGEtuhFPWeJ97dWpzQPK3r6lf8rg6No0qHw Tl+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321335; x=1784926135; 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=Ss8T08lcQRuh4LT8qU7cdiXED4Y+cvXcR0q697Hi17o=; b=Xau/aAzVMAEdrUdPemaJY1ep93izOjx7QjDedk7imTtdCriZz8oo6lWeX5l8lLvGSh //ENeYjHiNOXvYCs0GiRH6YwyredFJePocalMD3FZO6IS+nqlXnPO5umvplwUvsRiGcN fH/vEJC3GFYNiFG88KOqJw3/AuiartFpWcS2UshJusmSkZnN+hr4qoMWH5De4RHJEq/6 dnP/X6aEx1xYSxSoRRHp4KnxLhieZlag84jmLJzGkXB/e172AGw7LGY174s5gaQ6LDSM jGkFfBQEQ9KhZqY0gslpvARG+OkWhwmogbCLjTqjIfoUkG2llO/ETDxAkwOw6ZvCbV2H hIeA== X-Forwarded-Encrypted: i=1; AHgh+RpO+pNzmkeXewEgfF5B6ZPMu7MdoAAWzACK2skbAncCqpmKFGA700+T+k18mBbw8XIr2gKyJk/OT36fnnE=@vger.kernel.org X-Gm-Message-State: AOJu0YwIVNEbnpgH8+89BqjK1I1iU7jODztMThIkBWh0+4RICM2S3vMO QGsR/4rJHne3/+fF9DLJ5q/B2Yctnnc3VdiKyycSFpf3FiyN/JMBeCFCfZTT7lUhfYo9aP2GUcD 5qKNFERSDBZLO/M+/heyEi5LKDGj9VAlKSSoZ96utU+i+InyM8dlnQu3cBpvdkDof4C4= X-Gm-Gg: AfdE7cmC1VzfIJeiIgAnQH779qMEtQchtR1+dVFDHGS7rj2MthpZ7fk7mtlW93kDMRO zLMo6IgJu/B/Lycy6xuB1tlTTKtTuvSxUDaZH7+lolTS4jCCIT6yWGjsbkoEJVpr4/UPdRs1cA5 wKr8NdTswQF3qU8JKShY9WtMAWI/kHMcveaRWBL86QL/AesCxNagwP0u2o/+xQfZaqSydJeD2UQ N2TIN/HLy4eitGpjeuoeqGGo+swk2Hxu/wo6xdvv2/yubRRyViqSYl1Ih6J7aO0cog2ipO6XXPs rHzbvfJ61BgiBQonVLlhErpvTrqSm8b10NI2uGb0+AvDlm7P83+q3zkZe5Cedz3xgDEny7uGQZy R+B3nWF60gZpnOhcObRt5+quLkxJ7awyBNANPimK+LISVgGw= X-Received: by 2002:a05:6a00:1950:b0:845:eadb:821 with SMTP id d2e1a72fcca58-84c29271366mr4815799b3a.14.1784321335580; Fri, 17 Jul 2026 13:48:55 -0700 (PDT) X-Received: by 2002:a05:6a00:1950:b0:845:eadb:821 with SMTP id d2e1a72fcca58-84c29271366mr4815769b3a.14.1784321335169; Fri, 17 Jul 2026 13:48:55 -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-84c2adcd3dcsm1743863b3a.24.2026.07.17.13.48.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:48:54 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 04/16] drm/msm: Synchronize set_sysprof on ctxlock Date: Fri, 17 Jul 2026 13:48:20 -0700 Message-ID: <20260717204841.26120-5-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: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfXy5T7mZMcxd4C QfHHSX2dNLhiQh5jYOrd7iyfb7YcNGMBHoFlpz6/iHf2dohOsC8g75+XP/hCKyIDFS2MTXYL8mN khe66X4gu8PVzXSZtjNYuNsSyge9Vng= X-Proofpoint-ORIG-GUID: aE3K88ZLEuCQATJGhHFDfr7btWbIq4Fc X-Proofpoint-GUID: aE3K88ZLEuCQATJGhHFDfr7btWbIq4Fc X-Authority-Analysis: v=2.4 cv=TaumcxQh c=1 sm=1 tr=0 ts=6a5a9538 cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=A-0ye_aN_Dr-yZQka4YA:9 a=3WC7DwWrALyhR5TkjVHa:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfXxkfXXiu4olcW HAnnwyB4ZvpsaaS/lPlKcKgSpLTZs6sefjuCNxTttUT/GSCvhvctRrIxSSIYBACiniD7ABgXLPa oKhSFjZ2wiAZ6Vs+BouHH+WZYBxSTZJ1T8B61SVtBfFQbVnao0mpZIsY5E3/3os8HwDglqT0RmF 7QoLzynKgLyaM/rXTp/OcrNoIiIegl5bg1pw7LL8SdkXnWgWECYxUGfXpFzigylCac5ktw9WrW7 EXA/eIT0Syttmle1zRhLfPmbFliBUO6DfuhyEvbx6pLFAACrdqJ7sfpQAZ/5BEGnO8/T50JyaU6 5IlnuUwmKvaAZP3rq8GsYE4tx0mCNpmBzSqDxg8JRcE0/FysjYXrHUC6ERh+U7HRuCH87A7XuLv 7tk7FreZA/U2/VBpTy5oAWzBzq5EjdbTkXJ7V1E/LbS1Fnc/d7k8LoFYWvqAc37AVqEN7OCfpPd vCIQ7y+ZSlMKJuH1a4w== 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 impostorscore=0 clxscore=1015 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" A user that was perfmon_capable() could try to race setting SYSPROF param on multiple threads to trigger a reference leak. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_submitqueue.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/msm/msm_submitqueue.c b/drivers/gpu/drm/msm/ms= m_submitqueue.c index 8b5980d5a6a7..233c4f35ab12 100644 --- a/drivers/gpu/drm/msm/msm_submitqueue.c +++ b/drivers/gpu/drm/msm/msm_submitqueue.c @@ -9,6 +9,8 @@ =20 int msm_context_set_sysprof(struct msm_context *ctx, struct msm_gpu *gpu, = int sysprof) { + guard(rwsem_write)(&ctx->ctxlock); + /* * Since pm_runtime and sysprof_active are both refcounts, we * call apply the new value first, and then unwind the previous --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 8238E368D6E for ; Fri, 17 Jul 2026 20:48:58 +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=1784321344; cv=none; b=rmcL6zNjcX+5jdUYjwP5976KyjVwwrEdDftD9S6Gv3x1f5Om5sqV4PbalQbT4Ncuc9sFogPkU5DPRXYnuwVG1FBGHC4tPJzcMjeQa+Mya0y0WBs9QakHtv6Rbzz0N6YBJScGW0KhINPSJ7cbAQIcFj+CbgnKwY3M2njuGPfQOKU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321344; c=relaxed/simple; bh=8PFfTxM13ahnT0/lEem0uzt2tuNNGVbRz+lfpQOxU8U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QKADboTTbiARUo4aQvFKSVZ/YTYRhGPL+Q8IGbc/+Bb2IDRQ0IHu/GuruzLeiEy8LaEZ/Yq5oBg1z3r2uMH97DKNaqRCKh+oDyk/K7JQSAI+xa1VFb0BGxRuzS90IJiQNoV2dOz4b7AhUFRDO0ZEjK9Ef7HsNTgZlBSwdewCRk4= 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=gLaCAxa0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cWYbGA4o; 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="gLaCAxa0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cWYbGA4o" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtCuK2597295 for ; Fri, 17 Jul 2026 20:48:58 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=nr8Y2kLGOAQ fP+6If92MLZogonNmCXdm3m2GqTYBhjE=; b=gLaCAxa0DW+ibkaCzTzroerrr0H Ymr6Rx48d/TcAGbSzUXU5xLAyTnM21jrvrRk3fWEzG5QVbuS0TlqAckcDBSFl9AS Zrh9uDnACNja0Z6NHwGg66o9B2/0IgVc7iTbTR8h3j2Tw6uzEbyu8NnZvnZAuKGF g9SFi/QWljv1QFYV3BtCipl0aDnIBFgTHYGs830wO+5N7n2KgMXXuzkbx414O0Av +0qT7ytiKswd96W+C2erXJ0m3OYX2MS3yCzXKDiZdobSQKoG5VeMglxl237U1hxp xbEgp8sk578SIJlETcDbWF48/m77wrrg1Pwl+twbqMbftIQtLGf50A9zRHg== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffrp8rsfa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:48:57 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2cacd6d37edso110721625ad.0 for ; Fri, 17 Jul 2026 13:48:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321337; x=1784926137; 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=nr8Y2kLGOAQfP+6If92MLZogonNmCXdm3m2GqTYBhjE=; b=cWYbGA4oFINfuLaiBhKqpSxFaySMtUgGqATnfQu3YCOQn86CDrUamxwpKxHrqsZ7id ujafwHqsJR/WtwpB5VAii9Ibnz7rs+Y17XlcNXkRa58BpZdIaFedKHFz2TWrVivvO8uh kqCbpTsKP9eQSnZ4MmDv+aPhzvvEdvd8cntHSN5EWchEFuXBg+wIujgWLFVRMSKlVGGI 8TLmpRPi7neDwfPdtCfFKgGDCddHOfSCDhqUjzDippMhwaVyz2Utle2zyaj1bCP+dkfJ pi8U/rHDYRdk1S8eqmaikAdDql4S+/vX06o6oiHXbvNHj6m9XpzEMMoDE4yLWY9rroep 4TRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321337; x=1784926137; 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=nr8Y2kLGOAQfP+6If92MLZogonNmCXdm3m2GqTYBhjE=; b=ivpBO0TaEytjVly4z5b2zaft8+a5qh3v0QKJUYQG7mze03hKx8GkLHLH+jdtPyKSjd AiiWANCjGZUpeKRv1wzABSO+LeMpuNogzFGxl2ahN7RKvBP8rQTEF9a8yXj7qfloF2qM pRI4K0G2v1quI9BD/FaRpMYPHizLSm4eFiI/AFeHQ1VV+8TE+e/SaSYbhANozj0ItA/V LqK/ZdZZkPica2dLcl9EpqWEqQrD4EDy/tl4cUETFnCcBWr+UyGO4CW0JQLrM7ROXcoi EH2WT9FJmneOrcC106e/6QigL7rSpmLf8Q6ztkETg6YUU3G2P/cpOaUiv4rt8lXESjwD F6Tg== X-Forwarded-Encrypted: i=1; AHgh+Ro1t00blvuuef1S6BXwwcQ0K391mnio9IKddUQT7/r60+bD/BLqsToj4EUVTWSor3+olfGXFpFl+FkkcwA=@vger.kernel.org X-Gm-Message-State: AOJu0YwQ5dCp2oBBZcLyMOF8tLfvqfmE6OcEedtXSMPeh2yeEXMnG2kB 20juDzdO6BNmC3sOHJV8cg5tA7m2+EGnS6MEbN3xsumj0XjNdEdgDnj3flnxXMYIZBvxvoMnYgg WZ1oYHvbGzlQbo9axC8A3JjvsyefvIkiPYawxVTCiUHbqs9p3O/9uEu+elsA6m5f4Otk= X-Gm-Gg: AfdE7cmf+Lb6PwfuHachTAhRuCcNrRUH9Ym4cl76KPQBbqDgg50YIKH7y+tq0wj1pw+ WyNn3lg4jiIqNh2BSO2LGMu3lcAcSSqZChwQKwIni9X9xT9FvcGHlNDVmMKdqZSA3FA/6Y0dRjt GOAsQSqXrdRZnxh/ZBqyfQ7MwtUJRe4BetGEfO7qm8cuQdZOB/uKiwYu6jWZ1CV95HIRGRLsfVx SffYcqCA28MRiJEIlQNM2UGSUqiV2Ie2GElJht7znVopPwehm5C0bI4sYch1W3FuFh09kZBpZcR Asgjt4bwLUYaXQ8aUp+4oXLpoaumv+kT7V9Il//5LYeBIIzJOhlccO8o1vEzIFxqNd7T77zEQVw El4LQizLy9SJeQ3/2lwTVBo81WcNFgKJO7M8tamUheepg8Gw= X-Received: by 2002:a17:902:ce84:b0:2c9:c991:3bf0 with SMTP id d9443c01a7336-2cf3484be47mr48915105ad.8.1784321336979; Fri, 17 Jul 2026 13:48:56 -0700 (PDT) X-Received: by 2002:a17:902:ce84:b0:2c9:c991:3bf0 with SMTP id d9443c01a7336-2cf3484be47mr48914865ad.8.1784321336552; Fri, 17 Jul 2026 13:48:56 -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-2cf34729df7sm17187575ad.63.2026.07.17.13.48.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:48:56 -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 05/16] drm/msm: Move nr_cmds initialization Date: Fri, 17 Jul 2026 13:48:21 -0700 Message-ID: <20260717204841.26120-6-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: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfXynEhwJkzIjvb KLxNGG6AIVooFuP5EQzxUIIhycnilQMq9jopApyLobSnz+Kf7ASmbMr0RYa3FqSmNJ6Yjrtn/JD 840UcosR/84apsofZx7dbF9aKZea3wk= X-Proofpoint-ORIG-GUID: w9zhw6yyfbzP3fLNRW1f2BTacFaO3uaG X-Proofpoint-GUID: w9zhw6yyfbzP3fLNRW1f2BTacFaO3uaG X-Authority-Analysis: v=2.4 cv=fMYJG5ae c=1 sm=1 tr=0 ts=6a5a9539 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=F5a-vUUdUzRQ_IYq5r4A:9 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX4mZ3aarJz6MP g/KFjs1QBBMUnQSAIXjkzRQNfLkts57QMguwR3yLOc2BCC6hf7AgpD2sp6f3GyVO5NUG5e3bAGo 0xdDNm9oa2NDEbMJruXgprsGXNpdMfNpfxbmtJ9lCJvaCwgWitfQBsv/O0oraMVW/prGg0mJt70 kG7k6gi3yHV9zpPTnqzMK89nODWZx5Zvwu0FQNHbvGQxsOUPVAYWI3LSHa6Df2/Iz3xk0BvIgV8 RUHTErCA3si+raOOz4+XMWvHNIf2fA1lgrWaDAGzsf5V+HD6Hr4B3cD5uTA691/liJSvlyZMJsa 1+enwIrKU59rXqxVC1mbOnLRn1u9LIb7o82sTE+WZvj8t0km+dc60nGeGiFhmB6nXWvVC/qFv51 cj1MsJOKzE38mTL0capacgCfIbZNh+4Q9wKXlpDH8VifkOvDpkHjjEj+UYb00+SO65gzChZ9J9z fK6Z3S+TYSD7PqWwtbw== 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 impostorscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" Previously if we entered an error path between these two points, we could leak the relocs tables due to submit->nr_cmds still being zero. In practice, relocs are disallowed on a6xx+, and non-ancient userspace will not use relocs on earlier gens unless running on an ancient kernel. But userspace could use this to trigger a memory leak. Reported-by: Sashiko Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_gem_submit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm= _gem_submit.c index 3c6bc90c3d48..aa48ea4e7f58 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -260,6 +260,9 @@ static int submit_lookup_cmds(struct msm_gem_submit *su= bmit, ret =3D -ENOMEM; goto out; } + + submit->nr_cmds =3D i + 1; + ret =3D copy_from_user(submit->cmd[i].relocs, userptr, sz); if (ret) { ret =3D -EFAULT; @@ -719,8 +722,6 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *= data, goto out; } =20 - submit->nr_cmds =3D args->nr_cmds; - idr_preload(GFP_KERNEL); =20 spin_lock(&queue->idr_lock); --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 B27B833D506 for ; Fri, 17 Jul 2026 20:48:59 +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=1784321340; cv=none; b=cX5cPdOiFUmCUJjw+a7Qm5rCY1LQ02uLI3keS+Ali7ykVSyLmP5jymA0C1/0ElVkIXAjK+C0/+ojymXrTcbSjEuPBPS12Cx7zW8jCzI/4S/PWRuqtg66KpBEY6rDv0fwJqd5T2RK2QoURbHsZ44pSz4M40BvdWL2DRx1xG+YwZ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321340; c=relaxed/simple; bh=rWXwTTmh5/Id1XjgN3qlHi7qoHce582Yuw3MEti55yY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZNYc1d/Go+SLB3lR+WhTF06YtTOMs3zAqlPKJ1ZL8HVxFxDTDuP0Lh3s6efPOXtggoF/NYD94KvL3Q2OzptZ/nF04BIj3YVPpAxVwu/B/oOsQWvDZWXQQ/BZJsjdNvJVQirm2VUx1ASMSBcWVoazO2HE5HXXVr0+hXlBgo/LqmY= 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=Ib6PxVPT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Br6iIQGp; 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="Ib6PxVPT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Br6iIQGp" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtXuk2598078 for ; Fri, 17 Jul 2026 20:48:59 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=JwmCQxui8// y9OuoPvnSLIPSYLXC2fHhEyhJF+VayoY=; b=Ib6PxVPThSMa4RiC/ab7ehcY6Fs IMOYcbieq56p2dYqLlYLUU6Bwh0lcCK76EseCJtr9LWW+/ej3/hJMNFc+uSsQE8A 9GHR63LN/LXiM2hKABrIfJz4c3/H+26+jVKz2+EfLFR9UE0wzYGLG73FnnAq8uVt oaeVNNOqP7VkjBm1ZPKAYv0UOHOCArj3Tz+HE1ypXkLvERo/nxDytRFJTE2nf0TJ BqBvmJzA12ojitxb3nDyJu4G3c+Nn0hCaoEPbg5VVESrC99IJ/j3VO0sMs8ecYDi w3ufA1U5I5TARSlljyKnUNoOL1N6guhittD5XJQDuoq3OXlcIh7IwlsPE5w== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffrp8rsfk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:48:59 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cc73f47bdcso143691795ad.3 for ; Fri, 17 Jul 2026 13:48:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321338; x=1784926138; 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=JwmCQxui8//y9OuoPvnSLIPSYLXC2fHhEyhJF+VayoY=; b=Br6iIQGpwOEtl9Jxv2KY28dvR26W5d+uxuDDS3Gyexl8Q5+NadmQwrkhKMXjoAOZfr V7yfMqwLKXba6Tdt7EN9r6p3PX7VzfefMh3dSHemM7uZmvwqBv7dHrjt2Hx2JjMn5sao 8QrcJ/CTQRpE08ssQDcSqOuNKfnxRvzF3VlviLnq2vcNCp+/8D9BHC/4pd7eKW+05A4C 7oiIivorI0gfpDqGcX6eD8tLdfQzH2XHZOImGt8TFM9YMc4Qq3NZU9G4iNygOo/tDfNn ISnYAIC7nS5PivH0g0lawLF7h1t7EPswhLS/ei3l6nDyAaO8qiCYs+XD8/Xw52N3Q9e4 rJ5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321338; x=1784926138; 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=JwmCQxui8//y9OuoPvnSLIPSYLXC2fHhEyhJF+VayoY=; b=QLR8FXG+TiJCKPbHhLU53RAU5N8Q9WpE4nPGYWL8R9ADbJqCfLOATsRDnenXxnRLn6 vysKQPMmVnblo4M2V5HNvVTGI6jAT2XcdrZEoNVxAzAVrbWsno6VcmTGLzPilWp3FGeF IK31EMAFk8FQl0ymHfVlHpeXtRJQmUqVWTQtYtZPccay7kLVghUwMt5MuaPPajOz9gEd f7xxMPNuXcfgK/d75Q1V9jqvPHP2GQvneMMccnmVkJL83hdwStqYImbZGKy9zXujjW/6 haHLLc/RO78UEokJeNYPTfTNUJMybmYPe3CF3wBDpnMeZckW6uxPrqvOr0D+pyMw8+wR plTQ== X-Forwarded-Encrypted: i=1; AHgh+RrZFMSl3Bc+kKfQUBqDe1uWqwAk8uH9jOeYY3dUtYYCMbO+OCd+pf7U6PVEF171YMify5wjqXanD1zVneQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxK5i8V+IpGgdikagr2nZVhgfgKpbUnOqL8Nv0DBNdDq4ieHxok zexkvFWKxyDXNG92onAST0FwNT1JzWYqZlgCRn2/YbnFIJVX1V8gtSIeLfeO9/IaHwQxkGkkMSW Ejfh5ptU/spjCyiGQsS3qIiSoOd8c9jmQiIT3znsqy09iRTftqovdzEFMFCViBdNwLWY= X-Gm-Gg: AfdE7cn7gw+Z5D1pGBCDm00fcJS4g+4auM1PSMjTUIyVClMSctH00Lbs2vwx7mpNKMa bvcw5KH/1wdd75qD6bUXyHz5aWhqmhe4xWCuxMCoh4+YqUFuPAa6sgr64RlorL74VbYBcbNbXwM Bez5g847kYaug5J83FEkqH/oO8VKB7z+8FgVMCKwKgr5kTV+aAXh5ChKytfzGU4A6y/en4DXlWm QF8NaJ6IGODjsGbiCG4MA0XlXUaKoYHK6Wu1ZadYh0G16fW7eOZrkEWIWMU+d1r374HgRyKyKwx ShN6f3BFzpgnySqg5LmxxC3EFReclYxxetpL26XDC4/Cw7iJqy+69FQzLwfZiXj7QC5fHmmu0QX 4M3VoFtY7+loRTQ/gq3vdqKTtc8KB6vLtvSxyZGhUNmoEdOM= X-Received: by 2002:a17:903:41cc:b0:2ca:1eef:5096 with SMTP id d9443c01a7336-2cf349b46b7mr44070125ad.36.1784321338537; Fri, 17 Jul 2026 13:48:58 -0700 (PDT) X-Received: by 2002:a17:903:41cc:b0:2ca:1eef:5096 with SMTP id d9443c01a7336-2cf349b46b7mr44069765ad.36.1784321338061; Fri, 17 Jul 2026 13:48:58 -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-2cf49d0dea2sm1171635ad.71.2026.07.17.13.48.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:48:57 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 06/16] drm/msm: Remove redundant SIZE_MAX check Date: Fri, 17 Jul 2026 13:48:22 -0700 Message-ID: <20260717204841.26120-7-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: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX1gXkOfaAyQWU DePV3MmLiwg0ZWmcAGNbOerzXOEwMTB7PZynudoFUQ94b/fp3NM50yMIFbBkfnw8ISb3V3PcnYT 6VubBoAdNSyk+9COUqanb17jRadBjVM= X-Proofpoint-ORIG-GUID: IZycELpLIw2SPntkLWhZSbOH_LMTkcaT X-Proofpoint-GUID: IZycELpLIw2SPntkLWhZSbOH_LMTkcaT X-Authority-Analysis: v=2.4 cv=fMYJG5ae c=1 sm=1 tr=0 ts=6a5a953b cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=eWlSUfSnBrBg5eVjM6UA:9 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX0RNGhiCgqaE0 qYu8+Wc61OtYEUb58EhkRYqRQdItt6u6cay2LPp3jSF0h+eRGbYns4/rXyqaj1oRGq153TLvBnq BfO4jRez1NIenI4fazRuQghqJc5iaqEaT648GmVvRm5RkBQwqZGqge55TYhX+EYT4Ido9DgEKQp Sz7tRGjNmYyS+zdLfJhe7TBz5+/WcAeJnpblQl7fj6EpkJXXxagO79wyo3bBGLE5VmgFYBTrbF5 KQUAgrtlYZOinsOY41gTVdd+b1ftXRFFyGJTi8AAizoO+YWWxMuF7tIuXFeR5MX9qY97TwjqLog GDOSPXimtu9X2nSXwGdewjbGaF49lsGpQfXMhafZobXVXTJGBan0Ynq3M58WCjxcZNOd0amFchJ 0VbBJoCnEcwx7Ekm4zqY98A5788Z4ovV+PeSPLUKxcm44I07Tu55z0fCZjaTiTB0O8Z8qkaqTlt gS0BK4LsZiA5cyviBjw== 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 impostorscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" kmalloc() will already fail and return NULL if passed SIZE_MAX. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_gem_submit.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm= _gem_submit.c index aa48ea4e7f58..040354ee16d1 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -250,11 +250,6 @@ static int submit_lookup_cmds(struct msm_gem_submit *s= ubmit, =20 sz =3D array_size(submit_cmd.nr_relocs, sizeof(struct drm_msm_gem_submit_reloc)); - /* check for overflow: */ - if (sz =3D=3D SIZE_MAX) { - ret =3D -ENOMEM; - goto out; - } submit->cmd[i].relocs =3D kmalloc(sz, GFP_KERNEL | __GFP_NOWARN); if (!submit->cmd[i].relocs) { ret =3D -ENOMEM; --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 E2B3D33F59B for ; Fri, 17 Jul 2026 20:49:03 +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=1784321345; cv=none; b=fHN7b3ECBA15vlodKwkgXeFlPYShjZiUw810zZ1PEtkCCcLaiuO5Pv4JK+uJMP+87VrPhb9hETYzjKLEmMTYuTjU/HCZzoL7P7czWnLmqBFtaQq/LnnpJ7uVreHSbbjgKY0jyZR4xrAxaLB2CYcsJbqlVCFHAE5Ft+VWmVQM14c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321345; c=relaxed/simple; bh=4N17iOoD/clJzRUe2kNuCYy7t9AE/P684XfMMFUwlW8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gGAyCnLFD9PkJ0TBTCHulr6yq5X24D84Qs57IjFV9nBDTfgdJvlPQeSux7Lns2QuV/0byqXlnI7E9lw41WnYn0MptTgBOqXII15mrcnNQkQJ2d4YSsBAgwgAux3PaZ4u5pn8VUZZ0N/7pyqpMhC83LAFbSlYyTorBY9x55HCQxc= 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=XwrqJAeF; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=K4XzZNqa; 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="XwrqJAeF"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="K4XzZNqa" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtZum2598089 for ; Fri, 17 Jul 2026 20:49:01 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=DUl9fsdKYPz 3kO0o4cBY5wSMLk2mQuvR/wBV0AkKLB4=; b=XwrqJAeFroKkT6DMCKHKZmRuDFK UXiApOwgHkJ5QUxGS1J0lUqaguEdg2T6EOyVpLg5pvAWyisgatvW39xTvN6o418D 2CgFvqnaL0kMWTAGXV77TbEtSNNaTBj/iFsak+4pP3S0Lh9iPlSn6IgJvLZtli6H 7LiNdEJi9CLrC4V3+k9vr05asYNfJSHJkY4gcnqmyKAN/isyTFYxSxWOtcr+O/6w cNyG4oMT3Yc6Xsx/HBOoNKVvdF+fTJWk7YZCnhelVK4NO2pYPqk9W7+wqjDIyyZG r7yL3M6xUiWuFzk7ra7yEIYGuoaCiUIlrM7KQjdiOJnt8MLaLLQwApVFcZA== 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 4ffrp8rsfp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:01 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-848474825ffso2607576b3a.0 for ; Fri, 17 Jul 2026 13:49:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321341; x=1784926141; 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=DUl9fsdKYPz3kO0o4cBY5wSMLk2mQuvR/wBV0AkKLB4=; b=K4XzZNqaprKbCVwwzMYWkCNdV67RxrldPCqezNhAOCpVSuoJtfQ1qbBcnd8zIWPfmx tQTboXFTqmlMegE4BewTzk4wAqUPGKrCQK6rgHbawAqEK+rZG6+raMimu2vTjHx0tv43 vv4oWMFJyObuCVvx0+NvLV9AWKum8afTfS+NrbLw5Be+TnhdCn8Snh6JbKiKWPgjIQ4l CBWWyqrg2qYEfgacdBd5qZ7A9ZbAtNf/txXupYtGBladROtP0ehTDiYDJ+bNEo6j6DP1 P/v+toY5njeo/8kdAFsU6ln4u3l6aF9j+2GJ9cbsr0vxV8WfaX2hkyXFoC6mtAujoaoE CLOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321341; x=1784926141; 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=DUl9fsdKYPz3kO0o4cBY5wSMLk2mQuvR/wBV0AkKLB4=; b=OV/Y5J6s3p+zFp9wk5SwPzTSVv7p5eUX5CeURkQpeit46DifXFYeGkfzJdo2DMOy1H uA6HDP3Pbb7bf2J8onUSfy6gCmRN8GPaacc6CPcuRNeEgTU4BlqcHmXAb2ew0zhL0C9F zNHSPdQLHsDHvBT1KNZQAQMLFwjzaolbhOTvZCH5QBU0CFG1XqbbgtHdGcbRy+0Chgnu enLu6jPtae4j4mXQ9Tupm4bWDXcKl4PYJG0qDdhi98yBvLnsKGK2cP0ANwJAgN3EMuKv WJjAUrsPkQQlPcFRgzxr5YqbyUkpxRuB/dLs48KVR3m4BqSe1czVT5SVm4OPaaZNY83l 73/w== X-Forwarded-Encrypted: i=1; AHgh+RqlEjfBJUygR4jhKuzXJYGeqxQS48PJqamBwv5x5k9WOtIwCFP3YgeAYOU9If5K6GsXbnPcpp5GxPVJE6g=@vger.kernel.org X-Gm-Message-State: AOJu0YzwPHrKFFOkWJGO5cVHqZocaDD90S2k0BcHbFH/ykTb3/6z8qF5 RcaR+IN9WYKteMs6zya5n/NcrocYz1/G/EhWqpSqc0QvUnrviw6CRXDF5/Rjphtdn4F2SiZOO72 N++s8VA5SJZQG1dAK3Z87Eh08iWHvRjDa5P7tIaq8noWZicJup1yHOREtRg8IVnBnH8g= X-Gm-Gg: AfdE7cmTISUWBfw0caopGazuhsDK2RcYDv73FmAbIiSUJbkCum0w47tUb368aCJjD6g a4tZ5or+oI1YUHIJiFa93sR13vdv18mVHgg0iNWsYGqf488fezcW3slJgY5ysMS1gA31UTU1T6B KaK+RiGbmvrAudcX4VWs6rMJ/7HgEOrJmsp7nddOzxs3KTQZA6e/vNumuWhvJSSUkRWPZ/odt7Y 80Ftaw7ddEHiWtFw76A1+M99hycpw9Z5q29VU8eHipQh0RpMU8h1PCNnwQ6NMUGyOeI2UnhCH+u bXti5LHjL2Oen82AITqmBEeCsn0uzEnvHR9mkY1XovcbRKOqNDSf6mwg7eR12Q7CAbujwrDKJNN 0ihvJPKxlzKuGM7Y+wxioWoCOxZTIW4IezTP6pD9t2qPv30I= X-Received: by 2002:a05:6a00:2e0e:b0:847:9919:e772 with SMTP id d2e1a72fcca58-84c28aa67eemr4402598b3a.21.1784321341018; Fri, 17 Jul 2026 13:49:01 -0700 (PDT) X-Received: by 2002:a05:6a00:2e0e:b0:847:9919:e772 with SMTP id d2e1a72fcca58-84c28aa67eemr4402571b3a.21.1784321340577; Fri, 17 Jul 2026 13:49:00 -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-84c2adc3466sm1742806b3a.15.2026.07.17.13.48.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:48:59 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 07/16] drm/msm/a6xx: Access VM directly in submit path Date: Fri, 17 Jul 2026 13:48:23 -0700 Message-ID: <20260717204841.26120-8-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: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX+lw6yQ4uOsEd PLe5Ub3eQK5FQ1n9hGYSHP8KNJ49QWblsPOuCANA+NYm5W9kiuOwUjdH70o9jtvgxqkIroWkvi+ 5clOegicpZ0uResDc+YimXuj+LvwHMA= X-Proofpoint-ORIG-GUID: GUbedxckxv00xuWfw385a_c7AR5hu0fU X-Proofpoint-GUID: GUbedxckxv00xuWfw385a_c7AR5hu0fU X-Authority-Analysis: v=2.4 cv=fMYJG5ae c=1 sm=1 tr=0 ts=6a5a953d 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=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=QS8Fz2UHHwPDOV3g--wA:9 a=+jEqtf1s3R9VXZ0wqowq2kgwd+I=:19 a=IoOABgeZipijB_acs4fv:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfXziA4+B/a5g3i 0WeB7DyfYNaPJj/iozCnXvpI6WKQazDeJG17uweJsec4TAjdSkI8d987nYwYIcezTZYPtEniHTI BcoVi0gk4+VS2UsPIt8D47a4W8fnAZSN4tG/8nXV2iKaRM2xpH0rt75euTTmngGeswttJUb4L+N rVNigYwz+8eltFaOm0pf2BaOn3+5envv2fBp7ur/O1iGWrH0YAzbdDbkZkbYYZ/9A3PwF2BE044 l3MSKZmU01RQwvpwvGfCLKLsdmbHNZoDpjfcgnJUKrq4/SGYg0XosVibcpWfvMKxx0MsGz2syFO TU+g5jrv6y6jx3D/8eoQ5KoAA15ICefZWLSu0jpX6cnh4G237Tj+G+cibby1mS3HChLQrYNKiGj UABFQefspsKo6TbCgTe2MH7P/xCNPNEI6ED74x7UulHQAzKl2CY+r8T3h2H+Wc4a4wGJj21Bwyj 2FxhSrpmmDROhn/Da+A== 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 impostorscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" The GEM_SUBMIT ioctl has already ensured that the VM is created, so we aren't expecting to lazily create the VM this deep into the ioctl. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/ad= reno/a6xx_gpu.c index 8b3bb2fd433b..7f1673163f67 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c @@ -229,7 +229,7 @@ static void a6xx_set_pagetable(struct a6xx_gpu *a6xx_gp= u, { bool sysprof =3D msm_gpu_sysprof_no_perfcntr_zap(&a6xx_gpu->base.base); struct msm_context *ctx =3D submit->queue->ctx; - struct drm_gpuvm *vm =3D msm_context_vm(submit->dev, ctx); + struct drm_gpuvm *vm =3D ctx->vm; struct adreno_gpu *adreno_gpu =3D &a6xx_gpu->base; phys_addr_t ttbr; u32 asid; --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 974123A380A for ; Fri, 17 Jul 2026 20:49:04 +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=1784321346; cv=none; b=D8uO/7Szbsow22cHhVJl6kzspSRSLEXWl+KhjH3ufFmXIfFUeDXFg8Kbfp5uzGbVH1cQ2ED/99QZQTtKiSgqKMWpFtrSHeZu2hONEmlRRE9jUWi+CI8iCqnR2FdUlKRPVMj0TjSZS6Qr8jZS0ZckTAJplNGTh/8ZDmGhC4wUYB0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321346; c=relaxed/simple; bh=GxZFku0kvsa3uEnAi/89TufUaclwCvO3NT6bp6hwH68=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RXTkTG56ZGLE23UGa6XX0+XJm1ZBTOkJWNr3GLg5aPYo8cAecyLgk6oGk9VgDb1F510u9hBzlpoEeUbZfdMOutDOT7gfKH7rgGhSL17qQl9tXHvps6FZY6TMwzoPlsbR7OLs2J0hooRfdZ+81u+3vLNx4kYNc79AeRWO4hWXhYM= 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=DPwoP/H3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KR/SJjii; 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="DPwoP/H3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KR/SJjii" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJu8YK2824989 for ; Fri, 17 Jul 2026 20:49:03 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=6DIg0hlu8qf HUQoWpRSk0/2wgFEbxEIf2WTCugbqRdk=; b=DPwoP/H3ufNRn+Fl9blicbA6v56 zh8FQw+VWMQbbn1ixbGniXIrBG3RtMHYj7jkOWIgH3fxAUCQWqLRRUekRUzktYBq oG2akPAGgtX6E10yRLFQaL2nIoeZUpqSl7jO3YhcteDs7Pwp64hrLUGNKoeo9SjQ jdxMeMxxqySY9Hca7/gD5It7E76IjBUAGMjFx8a9PTRS85QLbfxH00NPZ7ZsK69E vuyrUYmT9tKlWcHv03xreoztgA49JpA1WPetKmf/mVklKpY+Twyruq3uWJ5ltNGG oEy+8sfSZNxuMDbfTrPBRZmHnwmT5LdqExDObrwUOVI4SC/uKwCObBEPIyA== 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 4fff8139p9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:03 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2ccbb61893fso174034285ad.0 for ; Fri, 17 Jul 2026 13:49:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321342; x=1784926142; 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=6DIg0hlu8qfHUQoWpRSk0/2wgFEbxEIf2WTCugbqRdk=; b=KR/SJjiik71uqg3SHZgoWgh1xwAcs8qYtVSQe3VqBFTNpwMCNx1jyEy91xItRFpxCo hqb88zIzrSXCjY8QrpHaHa07unBzICrLy+G5gvB1rC848I77Rn8V+INJpgwzp063eny5 /IXJVubuLbrwjmm/FWZAD/PM4zHx1foahEShwmFHaSkMkGX6nnGPA/ELPJoJ2v2YZyxK yHrRBgxWG6aBT1mnpqEP6KpgPJyLVK6zkM11sifrsUdpBzB5c3Ms2OjjUtI5G4ldquHt y2huggKc5vEmRNAw5b0lP/Reu+FbVEbdgO2Hvp9NC3sq+a29AC7pQdFH6t8qY81hfANT 0GpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321342; x=1784926142; 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=6DIg0hlu8qfHUQoWpRSk0/2wgFEbxEIf2WTCugbqRdk=; b=i9NTuG9Fam/LiU4gI9h5Ai4VMr0TCGjnf086RSBPwCrxRm2aFoX3WWOwkPcm3FTyUJ sKdo8EQi4dBVonrYUNZUW8dapLPEQbUBxO7YrbUNKXTwaS9AAEbPsYczMwi+wk9xqHoJ cUUaC8Bxj45jte9f8x8mxCip9PptHZvHXTZgy9SQOEJ3rqtVG22X2ICa6KfnnXemnYA9 yzNZihQguj0HnV1qRNk64XZ9cqTAxmHwHqbPGR+xMHMvpsGgZS9TS82zViqM2pqxtvXu hr7zcizCI1M61f4gLsbT85AqGpEMshy6SAxhgcdvLBYR5KUOEP+HkZZZWI/gwap8jmSx mXCQ== X-Forwarded-Encrypted: i=1; AHgh+RpfwZQ817kegD3RJtSceEgTgL6jwjM+U961wrWI3aqFrAniuNB2Ossc7M3iQkXJYUdEwHtRnG0CdX9srzQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxBX6eCdoWJCYHwmieUCmEjN4XT9MuuXrc+2zFbkbG+1XakTxVw PLQOQdv4TrV+R2hymsLu6/FHXwn+lzspsS49AUXCzHJktJOHmMxF52KFjwEy8cgl4Elsbr/nURf XKrQo437v9wy9Tq7Vip/JR7SliK4augzvfs86QV+B8MJl4w999wb4BclIhVO4CdnyaPw= X-Gm-Gg: AfdE7cl3qD2t+/ZZUeA9LiH4LKjFgqPFW/4sMQizu4lGHAga7lz+RiX0JimnF4OuQuo QGX+VRf/oPuJA5JlXHgHBaVKaOqvpNQwJS9i4FI3vpfUa5M5K9I0NfvB6QKAr1F68Tyht/QmCwU /HKzF1FYsT86DYDRj39uRL0quBFji8dij+WSH/1boXo3zMQIgqFOycdJ5oNKA/2d1zyvFybpJG2 mMjFlPuwXXwRB3cLJemV4jssr6KVkczjqLo8yCV7p8XysqHfWQaHCGwADcrEFANmKLXu4ktYY4Q aCc7m54J3auqgPEp23vACnlVC0jikTyg4KnxwQkt3cqtVFSakAIJyFjXcOzteEu9sqzRfWfarxv meYFZmVcdYEOedlsTJna/cFMvfx111uNTDFp8u54qYfjfE44= X-Received: by 2002:a17:903:1b2e:b0:2cf:32bc:9722 with SMTP id d9443c01a7336-2cf349979bamr46951045ad.34.1784321342389; Fri, 17 Jul 2026 13:49:02 -0700 (PDT) X-Received: by 2002:a17:903:1b2e:b0:2cf:32bc:9722 with SMTP id d9443c01a7336-2cf349979bamr46950785ad.34.1784321341975; Fri, 17 Jul 2026 13:49:01 -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-2cf346db036sm17221035ad.46.2026.07.17.13.49.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:01 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 08/16] drm/msm: Add helper to check for per-process pgtables VM Date: Fri, 17 Jul 2026 13:48:24 -0700 Message-ID: <20260717204841.26120-9-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: quoted-printable X-Authority-Analysis: v=2.4 cv=RbqgzVtv c=1 sm=1 tr=0 ts=6a5a953f 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=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=4aDCzPfTH0uMOhJcsooA:9 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-GUID: w7Bu_dVPFOshqM2tOYuytymXixsm1g4D X-Proofpoint-ORIG-GUID: w7Bu_dVPFOshqM2tOYuytymXixsm1g4D X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX0FFL+NPhxZpY Vf53VrBeNN48p37dPtr/A1IVTHDUm+gRlyjuhR9vZd6PALnGKXcXzo+8GGyO1FdDxeqE7akdC4i h1RBFDYQ0k3ydOC8Tb7C4wjyIa08BBBfp4Bjno6P29G2h8mp1VUjzO/538VirarC6wiBVjT1V6D pUIbI3OoYKkNz6BSjrVzNdDxJCrvIHAZqWeK7W6ISgu7jTL2YTjI5EP7gODuYRNLciJEKfY9mtO egTJ6kUS26FjI1vyIcvIZkWimSjIb67155ELyTc9xovsNdSwESc2X68yPRJZY8PIsv9NHYH/2ON aViFVqQiMUIpeRynXSyXrcqNugahm/+HBl0cwn+KPUhJ9bGSZmq02ox+gPRde/NSd8zQRJmjjJw rydc+49/KQcqEe4LmoGhtA+XIhxTIInzdoC6djmtdgpDWxsRfb63zgzO3oDYaw8BqqhBtPAFjnj Mmdcmca2w3elF/X8NCg== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX6oSGyF0Yz6FR MmTkaJpPVkbi6RcsYkFKCC5199TC3TruwMKxwu33uHMDM1j9qoRhk+FWBSQMc5Xvn5IMfi452Mv +ilDCBQYVNb4rMKYmFxlFGcricvqVa4= 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 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" This will simplify a following commit to allow lazy VM creation to fail. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/= adreno/adreno_gpu.c index 0d54141ff089..5738eac9aebd 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -356,6 +356,12 @@ int adreno_fault_handler(struct msm_gpu *gpu, unsigned= long iova, int flags, return 0; } =20 +static bool +valid_per_process_vm(struct msm_gpu *gpu, struct drm_gpuvm *vm) +{ + return (vm !=3D gpu->vm); +} + int adreno_get_param(struct msm_gpu *gpu, struct msm_context *ctx, uint32_t param, uint64_t *value, uint32_t *len) { @@ -414,12 +420,12 @@ int adreno_get_param(struct msm_gpu *gpu, struct msm_= context *ctx, *value =3D gpu->suspend_count; return 0; case MSM_PARAM_VA_START: - if (vm =3D=3D gpu->vm) + if (!valid_per_process_vm(gpu, vm)) return UERR(EINVAL, drm, "requires per-process pgtables"); *value =3D vm->mm_start; return 0; case MSM_PARAM_VA_SIZE: - if (vm =3D=3D gpu->vm) + if (!valid_per_process_vm(gpu, vm)) return UERR(EINVAL, drm, "requires per-process pgtables"); *value =3D vm->mm_range; return 0; --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 D830F3A9DBA for ; Fri, 17 Jul 2026 20:49:05 +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=1784321352; cv=none; b=Xclx1pcvVZAoVwbCwLV9dzlhEC4YXN8jd/ebGYubSZzcvUo3gBniHAuK/Pln7fbdwwU0Ee172lmOQ/kfXNSxVe3F6GGkBTNHFkYAvvZ5AB44maoszhX7XXaqDgFH/CRbAnBPg8xVc+hoeehnYwyWv+F1xqpZ7eg1RXbOClkkQMU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321352; c=relaxed/simple; bh=FEVhhN1Tu7fPtcshXYip5B1GaOhw9gRDyazaGKTnIDU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DjAJl73LxNTgMx1stDg/njI7ERxibyn8kTgXw12YFizyER518C12F2YIIYi+vfszZkxhJtCR9NvM4nOo8BG9okMGqa9kvj6579sqmMAbrOpkpiRmd0Tl6PI8SfXb8A3YCWPbieIm4RpnYaIAxpeYDvWO0YwMkJ9RlY5O9tcqh0k= 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=SzgWMNtd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Oj6q80f5; 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="SzgWMNtd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Oj6q80f5" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtPPm2751693 for ; Fri, 17 Jul 2026 20:49:04 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=L6JvWLUmlfs jBa14lcBw1BoSx1fLycflHxKxG02lUBQ=; b=SzgWMNtdFSoIESyCO5ht+jZrHyF O5sn/pAv092HvPYZWgrMVeoKHhKhpf34fXHihPIblOapjZRvlQ5/RPiO0MGqFKKt F3WT2T+LyS+pofMxyvDHMMawCa7bVZ4CLnl5Pf4Sdmyr1Md4R7qzHdvqymUObzI8 b8AXf/Be9SIvGpkBmJBXfFPgLzC9NxpSct65KQ0ZWKRQvSveXSXzbu0sH1hdPwoA ECGQi8dQnCHo24mM53GrX7NHJWUMNuTkFX/FLwp7tjSMvMOTUHioUkNghPpPIhNj 5AYJRGRTi2Aw6KWFO3sqYQqsCQQv8ukJv8N44PNLmD3Imww8QXhm4Ko247A== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffpug1aws-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:04 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-cb48f41343aso1182545a12.1 for ; Fri, 17 Jul 2026 13:49:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321344; x=1784926144; 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=L6JvWLUmlfsjBa14lcBw1BoSx1fLycflHxKxG02lUBQ=; b=Oj6q80f5GFs0ttTACXIyNLmdUWsFK5qTxSdoSXLcNXVBQM5vjgRHtnXYLzvUYzaDy+ g+/YeispnAbCZ5QI1ZNV9n6RxObM3v76a+8sBgYWQG1Nhd1ULe3vvQE/X6eKRVF+qXcS Sa1W2QrSpSYj5mob5ywu0pspzvqVq2xYBBkUkplu0PQTjHW417M36evNk409/HCTIhmC Js47d5Z/r+ByGfcWKUjSSeviGJVjDEsgZlvTGfXBf8reTbbmKWiKU1DzPTEjUayN0Dkb y/hC+NWxaIy2q2lxT+V5aBzRWZnWf258xwxXAjiz0J6m5Sc9hlhZkL45xTpxAfn2o4O/ 5mOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321344; x=1784926144; 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=L6JvWLUmlfsjBa14lcBw1BoSx1fLycflHxKxG02lUBQ=; b=Fu4e+iPPLFPJqkttSsPL/R5ZBSmgufGssxXdnygS8CuVqeZVQWEkJ0NOFgUQJuUjoi JlazlY9aKDAhIVYVbDYY9RNazSXgeA4ohAAtmiNpx4sJ20N7ONaIyErOx/Z64qlpmOqo CQkXI+TwfftOpZIrGe+pWGYSUjf9UOpPfbMIOZS9nBKkkE99nU/PjhwO4LTRuAWp8+V4 7P3xD96Azd0Oxpx3LDRcXGpMmKbe9YQy42uvONF7PjRufvl5NUqZNW/UovvRcHs2ibJ/ dNnUgkW23keJbCazi7b1705h8pFr5C3/tHRX7MOXJUoMpg9H+lw6/pkYU8P9M+lqeYje 92QA== X-Forwarded-Encrypted: i=1; AHgh+RrVFeL9z5wfoVm1Ruban4nerX88VeyKXi8hApEFEbxElXD8J4flBk2mp71HGsMGSGqOxRr8qxP5EDOm3r8=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4VcsjkNDc0hUlkVR8Dz3hHAFQ4OPz3E6b0QpacQNNaNOHSiio RBAwtWrbTV45rNMjdjYGA00Kr3OEr+utqS0eLKK+pH5QKeLD9C6g5WWzm5q0KRhmEGG7WMyUTKD HUh49AAplki8Ur38/htHe+NXWJnECcd1tjdUKecHcfc9zAO01o8WcuCVkEwFwYSJl0Sg= X-Gm-Gg: AfdE7cmHl6zfqdAG6HQ0hi3sCIa27/6M+ze/wVC4ano8g/yThA+RPx8BfWJ34EajM2c AwEfojHMJTNXmyU4KehV7NAQfjT2nBEkLmA+OyiIbRcA5nhl6k48qKZVV7nWD8GYMKowUf0+le+ DX7xo7TMcAhFcfZPeoxlvId2KGXT96cpY2DBWL+OITgUIKt3J9L3fDyv9nMf6ZvoAJXdkZITLCU ZUsEUDfOV1SQhE8lnLspHCKijTbJlL10dPIJYeC/wrTWuLgJRCFT5q76gKtR4rSd3ilpOFRB1RM bmKljfGuNQR9JSb6AHTQaGbdgywEx8WKs4gLzeTEZ60/M1ja8G7rDm3+KGXB8ui3cpmrbNdVOWv iDid6Ox6tOtw2bPw2HuSp5aWVP9AGHUnxAV+wVAyPocv6nlM= X-Received: by 2002:a17:903:2ac6:b0:2ce:a6a4:451b with SMTP id d9443c01a7336-2cf1f2e71eamr96842915ad.11.1784321343699; Fri, 17 Jul 2026 13:49:03 -0700 (PDT) X-Received: by 2002:a17:903:2ac6:b0:2ce:a6a4:451b with SMTP id d9443c01a7336-2cf1f2e71eamr96842585ad.11.1784321343258; Fri, 17 Jul 2026 13:49:03 -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-2cf344b1ef8sm17884615ad.21.2026.07.17.13.49.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:02 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 09/16] drm/msm/gem: Remove useless locking in GEM import Date: Fri, 17 Jul 2026 13:48:25 -0700 Message-ID: <20260717204841.26120-10-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: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX1p5LOTbDQ65l tWTQPhl9yjo/0OCv1ghhfU4LVHdnLtN2+xdekBGTuItU73bHABumgh+XWmPzzCq1JQbhYlJZtVd OR9u4baG47QybhpClyra0YFFJntZHnj144CO2WSdf7JkSuXslN6quhZCQZJp74p4BOrXckVhVQ8 AGqZUyyuz3yFxcWTdiE8i91Klv+MTs+jC4mwbTusqPjCMaIe27RRVOTTRjqOvPOVHwgfn9MOCZj GP0ESV5PaS0NK+h5nrsQ5AuPIrz+Zo6OSkA22w+j4X6EVfuNiI/T3Kzliy8O+nZ7B74ZD911Hwk ApAxBNLgi0N9nCJWuvubS20uQXiQS9VJhnk4K5jaZh7ivuIxeE0WY3gWimcZwDwsii5fAkkFWS3 cwYORtVdx7CQTHD8Q5BSOT1hQZQ6qTqBa32Pecx2fDLWJDLhECXlwp2blnLGvKdHLU8T3dYKeI+ lSiOrU1kNbHlmFkejrQ== X-Proofpoint-GUID: jkKZSOqQ4fsZkvWEgKLmwyt74GUcQ7mG X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX2xS3CovxdqFr 2/cB7baNSipIqf4i4jlSiCIj0pri3nHJUy9wxC82GSdNcGpKvAj1Pd6WTVtAw4Icu9WWOw1B6a3 3b62Ratl8CgjljTski7eWJFXoQLMSkY= X-Proofpoint-ORIG-GUID: jkKZSOqQ4fsZkvWEgKLmwyt74GUcQ7mG X-Authority-Analysis: v=2.4 cv=Q63iJY2a c=1 sm=1 tr=0 ts=6a5a9540 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=isCY8TonHXl0-fnU9HAA:9 a=x9snwWr2DeNwDh03kgHS:22 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 clxscore=1015 phishscore=0 spamscore=0 bulkscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" The locking has changed a few times over the years, and this extra locking was the mistake of evolution. Harmless but useless. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_gem.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index efd3d3c9a449..1aa844ce4f2c 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -1301,23 +1301,18 @@ struct drm_gem_object *msm_gem_import(struct drm_de= vice *dev, npages =3D size / PAGE_SIZE; =20 msm_obj =3D to_msm_bo(obj); - msm_gem_lock(obj); msm_obj->sgt =3D sgt; msm_obj->pages =3D kvmalloc_objs(struct page *, npages); if (!msm_obj->pages) { - msm_gem_unlock(obj); ret =3D -ENOMEM; goto fail; } =20 ret =3D drm_prime_sg_to_page_array(sgt, msm_obj->pages, npages); if (ret) { - msm_gem_unlock(obj); goto fail; } =20 - msm_gem_unlock(obj); - drm_gem_lru_move_tail(&priv->lru.pinned, obj); =20 mutex_lock(&priv->obj_lock); --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 35959389455 for ; Fri, 17 Jul 2026 20:49:07 +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=1784321351; cv=none; b=J26d9MwB90Wfd8N9DhUYVUjGjLitsqUnPWg/ymfECccMMn93ktPHPicT79GNS2F+8ZhNoRkj5bsZthS25GtDdTixPwK9YYM1ThLd1uz8Zp808Fx+Cc/PzZoUhIUZCPwABBTMJrrVG98QLh3b1T14GaUqEWZjX+nMmanZXzhePDc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321351; c=relaxed/simple; bh=E0iUbFB/MIt/Cq7b61yiV60mMfudaa+lOJ/AhKQqmMg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ydvk4ngxq036ROYv+9CMC1Y432MmDPL8QA11QmMLECgojUiwY1K2Di+YLz1F6cwxyxVhb50ryy6NcDDbcUb+dl17ey7kik/pN2PT7MqIEF37GDv2zXW7QZ5WKSCvH4CvuUGRI3CueDqOC4xZObk/zRimGjtBglvGL5IDsYUzyfg= 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=gfOugpkw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gvBuBlXl; 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="gfOugpkw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gvBuBlXl" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtSuN2751820 for ; Fri, 17 Jul 2026 20:49:06 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=4CMYyKDJ3M5 3142fIiVcs31bCTT449JO3xTuz6WbmaE=; b=gfOugpkwMNnJ9ADd9groXhgINwx Ppx3Hn1x3EqK0HopesfVxLqI+3OzJsS3bdOPTlBGOlB/lYoqTmotV4zk6gcEgBfb nmfhqzYiNcIw85qGWWLP4hhcWPGZl/6ocLXAmaL6dCygtxN/BIbpM+3c+M9HJVv+ 58Sj4Uuu3TRRcf3xGoJaotq/ScHY4DGzWG5+XBFRFi/eAAJAQ31y5lVEFiJpZ7FF syd7+o2BjlwDbHutDjaJ9c/O7yQFpbQksNiFjWATerqIIvUunX3Bw411AR2wbbzS zm6n4WIsE6arkWT49L/zop/OTV+AtvoNuEq2IOdUGCkrORu5p0kbp3fdGNA== 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 4ffpug1ax2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:06 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2ccb6f6a3f4so33918655ad.1 for ; Fri, 17 Jul 2026 13:49:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321345; x=1784926145; 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=4CMYyKDJ3M53142fIiVcs31bCTT449JO3xTuz6WbmaE=; b=gvBuBlXlmbgqUnONHhkgg6loxyFkwr1eSiOleXUIxgH547g9Qp2SQ6FxuYOC+VTpct owFmhByrPiQxRfWEsJZ/s8OSCjFoYNeq2uxp3XkXfh053f1onYkzIS2qLH8GqRjG+n4/ P4rhENPO9l0LspdByH3fdy1NycZtJfsP5sw7XKZuK6eEULeKBMW+PfFKSqI1FnMy3z16 ZsblUNK82cjIckuzYWJglgIHujqR4SMmmN2YfTTqQ7UERWFIa6ZYHc2ngTPr/kGySWI5 WPdPlGdvLcTxkfkUIFRzLhn0lMkp2jhVPjIcaSHdBYyUDORR6MDKYoW1dP2s2nUdkn+1 1bmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321345; x=1784926145; 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=4CMYyKDJ3M53142fIiVcs31bCTT449JO3xTuz6WbmaE=; b=hF/s0A+hgg7puZHtW4PMTE0i8WEs0rwCU9EFuIl3G0cUnp8AwQAMr32kfPRzKiuWFB tDaccECeuS61ZTS0D65fWudCNDnbEc5OhSZcyAt2EhiwIJZBFCupJ/jTf+1R7zB412mp 9y87p8lTqB5f1IDobDOlliRPZhdZr5+xLYMyMUQF1G826IUSWibRoyoR+4pQgYSDbEl3 bhrp5/WfKvmwYiN3OCVvwyucGi/soYEVzbLaknX3OdVtiakoYXHhuh+oW2uaxDnpw7v+ vDP9M0SvLIhligskE4kYVi1e+ynIEFWUVSuPL/R+N3A/XsT/Faeh8sZiscgfuqapvtqG kTSQ== X-Forwarded-Encrypted: i=1; AHgh+RoTrV04LNfa5KTjDySMTebxbSX0JWuPWuR4ZyvVl+8apsCBi3O8/gn+WnsN2p2JibqMO3sdpW1nyvK51ug=@vger.kernel.org X-Gm-Message-State: AOJu0YxzAgMOpr7cbiMrTTLI9PTICdBm0rOJQPiRSNDbpGXy6UD3C2IK 8DJMgikm/l9QnIV14cEczqElR1Ii3Mr/CqfJM5nYGE1oOzliY8bq8yPEdtYUdMJLwDmMZVOKoOF BlXywDxpMHpDDuGiifhqBOhF9t7jNcsmyT5h83kWRiP1AznCzU3lRZRKZ8op7OqgHSRo= X-Gm-Gg: AfdE7cmf5baF9iq3wtzaS6eWrQewILl+bFN1hWK9pdNojCtDlyc66J5hQ33LWNUI79K 8uyweRyZFNlZoC4wQ4CoOEHGaJiksE6hCVoRVoiGjfjGZtzVRSevMcsCfQEgD2SmXUrJf9IFyft ZD/jMe16438yyi4j0dUthREU+oxb3Ss//IQ6rCmkVRcIDs7Tvkvap+9cLejejeyBMMup93vTG2G 29/ecHBdUKiDQqN3IXHyCjNLMBvOW4OoI19CYW2l6sBNfgTeZO1TwEV5BD+9DLtN2253xoj82qe Yn9Xl/QOVBZl4rAXWoZCXVd1InJiz8p6LAF7+K56C0QtyqxohDkmg+OXqUDt656uswDYENvzo6Z wqDV8lkQVKMRntTPTmGardshzWiIQb8tEcL6adiQgIoolZ/s= X-Received: by 2002:a17:903:3810:b0:2c9:fc0d:165b with SMTP id d9443c01a7336-2cf1f544ef8mr91319375ad.23.1784321345045; Fri, 17 Jul 2026 13:49:05 -0700 (PDT) X-Received: by 2002:a17:903:3810:b0:2c9:fc0d:165b with SMTP id d9443c01a7336-2cf1f544ef8mr91319135ad.23.1784321344618; Fri, 17 Jul 2026 13:49:04 -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-2cf344f12e0sm16778325ad.31.2026.07.17.13.49.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:04 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 10/16] drm/msm/gem: Extract bookkeeping init helper Date: Fri, 17 Jul 2026 13:48:26 -0700 Message-ID: <20260717204841.26120-11-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: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX+OmGVdn8XkaC aJAEDcfUuHZXyCctrBElKaCp/urdJi6ZsFsrf+ldjRsURuKLf26VLzDJqLV/T1eKDoqX3XQMvGR o5LH196emjRvJH31nhXdEkp7KK/fsbcdyc8crbNvRIG3/b0q4PGR3at1lGPbuScqmUHRirOU+L5 L2n96QW6LToZlwYcnI6RoTO1C1lLRidahwghFIWNPWCjyyUpIAr3c0W3NDm7PNlBqEswPBUrGEu u8tppanX2oPYe87tEvddLCK8bHpkY29vnnHFaCowibUtxet9AMqeQMZ61sdOXb1kztOPygceRFw gLO4LVBteVIi6Xt2Qqs6sV7Qubpub8h2K50ghF9VcHGOYjoM2xTDYb3LvvBzfNYwOOzDDt67x0k fYC+hzEy6Sy79lHOngVQ1g3uQKhTOkWtiD+WECrNY6JlDpYZlmRBif6hRbsnpE/9tnn09UvUODe 9P0SmSu2XWCMxuQk5BQ== X-Proofpoint-GUID: 5UEaHvLCfnRPD3fhovUiH7hOIGVxjxh3 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX9ODgUyNuaj2J ttSsVq5/mN/COdRBeZSjQVriFbnRxqtuET93g0e3WMsG2ojla0t+kZsqfkHU1PL/bBmk1fjexQ8 +klz1T6Msq5aHKgUbmawWS9REX57c70= X-Proofpoint-ORIG-GUID: 5UEaHvLCfnRPD3fhovUiH7hOIGVxjxh3 X-Authority-Analysis: v=2.4 cv=Q63iJY2a c=1 sm=1 tr=0 ts=6a5a9542 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=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=UD37_32G2j58TxomCrsA:9 a=GvdueXVYPmCkWapjIL-Q:22 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 clxscore=1015 phishscore=0 spamscore=0 bulkscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" Clean up duplicated logic between import and new paths. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_gem.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 1aa844ce4f2c..59143be07428 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -1232,10 +1232,21 @@ static int msm_gem_new_impl(struct drm_device *dev,= uint32_t flags, return 0; } =20 +static int msm_gem_init_bookkeeping(struct drm_gem_object *obj) +{ + struct msm_drm_private *priv =3D obj->dev->dev_private; + + drm_gem_lru_move_tail(&priv->lru.unbacked, obj); + + mutex_lock(&priv->obj_lock); + list_add_tail(&to_msm_bo(obj)->node, &priv->objects); + mutex_unlock(&priv->obj_lock); + + return drm_gem_create_mmap_offset(obj); +} + struct drm_gem_object *msm_gem_new(struct drm_device *dev, size_t size, ui= nt32_t flags) { - struct msm_drm_private *priv =3D dev->dev_private; - struct msm_gem_object *msm_obj; struct drm_gem_object *obj =3D NULL; int ret; =20 @@ -1251,8 +1262,6 @@ struct drm_gem_object *msm_gem_new(struct drm_device = *dev, size_t size, uint32_t if (ret) return ERR_PTR(ret); =20 - msm_obj =3D to_msm_bo(obj); - ret =3D drm_gem_object_init(dev, obj, size); if (ret) goto fail; @@ -1264,13 +1273,7 @@ struct drm_gem_object *msm_gem_new(struct drm_device= *dev, size_t size, uint32_t */ mapping_set_gfp_mask(obj->filp->f_mapping, GFP_HIGHUSER); =20 - drm_gem_lru_move_tail(&priv->lru.unbacked, obj); - - mutex_lock(&priv->obj_lock); - list_add_tail(&msm_obj->node, &priv->objects); - mutex_unlock(&priv->obj_lock); - - ret =3D drm_gem_create_mmap_offset(obj); + ret =3D msm_gem_init_bookkeeping(obj); if (ret) goto fail; =20 @@ -1284,7 +1287,6 @@ struct drm_gem_object *msm_gem_new(struct drm_device = *dev, size_t size, uint32_t struct drm_gem_object *msm_gem_import(struct drm_device *dev, struct dma_buf *dmabuf, struct sg_table *sgt) { - struct msm_drm_private *priv =3D dev->dev_private; struct msm_gem_object *msm_obj; struct drm_gem_object *obj; size_t size, npages; @@ -1313,13 +1315,7 @@ struct drm_gem_object *msm_gem_import(struct drm_dev= ice *dev, goto fail; } =20 - drm_gem_lru_move_tail(&priv->lru.pinned, obj); - - mutex_lock(&priv->obj_lock); - list_add_tail(&msm_obj->node, &priv->objects); - mutex_unlock(&priv->obj_lock); - - ret =3D drm_gem_create_mmap_offset(obj); + ret =3D msm_gem_init_bookkeeping(obj); if (ret) goto fail; =20 --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 7081A33C188 for ; Fri, 17 Jul 2026 20:49:09 +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=1784321351; cv=none; b=btDotWWKh8oydxpUuuz4sKHZ7ItA4YW+kkoH2uIHxn6YLmGAI1nBX6C+8ev7Qzf/nLe+dHMOzGdXARzO87YM/QvvS5Odg6votrNvdrYAPwUuLioW8EX54J2bWfGUFqpxz58dZMvoYNDKQZyo0zcNXkN3ZepdX1P6VL4r/8ZbBTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321351; c=relaxed/simple; bh=LWRi7WoPZMvf9fYiaDHQHho4m9v0RCHCTkDe9SmLXjk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uogiirHJ/QmDPBVjLMEd+u9MChH/1NJm3pha2BdFp+eDQaxPB7awOkFDVwX+abfaNZqKwO/VMddv7iJHg/TdBcXImG7yy0XnNrdQ/MH5LXiVgAkUo1998HiVFRc/II3QmNtLI60DcVVJXsEBhkv8WMSbdCdBeRn4Q/gypC/2TjY= 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=Y4zW4Fae; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=g+6Sb1R5; 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="Y4zW4Fae"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="g+6Sb1R5" 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 66HJteGE2653097 for ; Fri, 17 Jul 2026 20:49:08 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=u+dYORbwSI6 uiQcDeTCc3vg91gVYcFDs6LJ+8okS1eM=; b=Y4zW4FaeZKeaIQj+XVZ8t/w6n/j YrIjsNVh72DLHXagGzNNc4xXLO5hO+uHRysQFBPFFiayL4bsJLOhbByhUXj8moML xzgiAZ6+kkDbthDRNJP0T5xYKPXvCGXc2MrKI0l+Jkj+R//iXmu3ipr6DM7Ke3vK 9UhXD2vy1+wsNojfMUXh3FtV3vIeOPo9AC54Luj8Lk94Y/LGHx6tRYUT9lTBfyYu 3p8SgvwquN9G1eaEbiYC3ItnfPpW4+fqdxmzSeawFFLBj3K3llx4+R6XsY0p9Lmd B5a1DLGovmGV53JSKxAvW2xGLFf9//yQVQV/hmkV7Lm3cF7NakRWuBNZ97Q== 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 4fff9pb9db-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:07 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2cc88e22f92so169313035ad.1 for ; Fri, 17 Jul 2026 13:49:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321347; x=1784926147; 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=u+dYORbwSI6uiQcDeTCc3vg91gVYcFDs6LJ+8okS1eM=; b=g+6Sb1R50jYuK2S2OIKqdQ67zsNanNfcfSrExg4Ek7DSA3B6DNaaQi+7imwW+igQt1 bkeUamGWy9LDARfl+a2MN68jy7mnWHcpan04EcGMcMgFTawyJVdGDhyctSzdXkrY1LHr eHnaARtjTyHQl+GhHcpE4YogeSb8BBHBZGndA97Pe5Ti/S5CIplCCdrmtrfGhRAcsVQT WDSIE6+0AmiY6J/WLxZXwlxzvuiUwJVJNe64ET/Vv3aWws0456dN16GebqCEi0VNcMeG dcRlTE6xgTK2Iz/6oRUijWUKjwTLQswuoC1KBrVSjzCWzzJ8oCRTLLkht3fMUtqJw4Y0 ggTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321347; x=1784926147; 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=u+dYORbwSI6uiQcDeTCc3vg91gVYcFDs6LJ+8okS1eM=; b=kJODagU8d1cIk9o9U/Ttj8A7ZS+rmdfTtLl/+EUuto8B6vlNcb9ZeFYG4OWta0oBJh jDaOkdDKNI4Y2giQzfewoqpFaHkk24eSm06b8UcTclHHCmIKIwOqnmpHH7pWNOlzDuQl tJpxWJoF3Go+8WpzpRlCwjAw7lOD8XnEBjuw/abYHmoYc8+6+iJB3anjiGRki5k4G5My jE1OeBHbnk3O++XiixNoQ7WCHLiZ6H9YXge5cfO00yZYLGg5n2DW3cRrqypXP7U2IeL4 I5TXQpWwoiCNEnshQaT5vnjFrNPWRKrietpp8YVr+5f2LWkkHTSZ754h3eV+Nua1ETi9 eL6g== X-Forwarded-Encrypted: i=1; AHgh+Ro+O5S0EZJmyZ9Ic1Qy9Sg8P8UYfzkDADF7n6RyKESUoD4IggzksNU98bH7M7n3PLqrbray4cCVZwVri2E=@vger.kernel.org X-Gm-Message-State: AOJu0YyfS+L68TbeLGe+M90Bvp/CHDGk16fpKxxFpk6jNv463FdvWu6u VvNekJxZgrC9S7e9zLDcrO0Xxw6ZmablvH7KxXTYbo++1beMBKpIV5nGszITrl9Mlji4gcTyUok j45lhiatuIxTQQj2imYchwepoOELZM/mg9PW+01ZHcjP50ZlijWmdkQVL7WeeGGff+Ro= X-Gm-Gg: AfdE7cm5RZviFsgApXpDzk54her60cOK7AtSQl+LeyHRwCVmYa87uZka3tOOEt4iruo 5IB3uEvlOfTnfshEYE1gmAHPvf3DnfUiH4dZDep1IH1YYpNjdCewHKPyW/RFZmf8vWQ/nBEjJIA TUOCJW3B+r2wvZgumAVVHi3YLUwpkY40YO1T/enWVwsGwQcGf/aM4zGNiHBe/tSKhKJ3jf8qfbn MNrk70lDy67QB/iEekew7giavUbwdetFew7CQxLUN3NVeerFALF69NSR6aul0dmfHAyGp7yNdGP ScObWAPOBJNMTe/cpryBLL6fOXWHuiX1Cvr+DxCwTVGOWTGgvBSKBEb+iuWi+zV0A4HWjeNe/Y7 7Oq/35JguoqUmvbX1Gn0/4wF9ZZy3Nz918MXKzdfRmeewNGg= X-Received: by 2002:a17:903:3c4f:b0:2cc:fe03:dc75 with SMTP id d9443c01a7336-2cf3499007bmr48336275ad.27.1784321346994; Fri, 17 Jul 2026 13:49:06 -0700 (PDT) X-Received: by 2002:a17:903:3c4f:b0:2cc:fe03:dc75 with SMTP id d9443c01a7336-2cf3499007bmr48335915ad.27.1784321346560; Fri, 17 Jul 2026 13:49:06 -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-2cf34729df7sm17189185ad.63.2026.07.17.13.49.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:05 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 11/16] drm/msm/gem: Set resv before exposing obj Date: Fri, 17 Jul 2026 13:48:27 -0700 Message-ID: <20260717204841.26120-12-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: quoted-printable X-Proofpoint-GUID: 6uKEYV8rz4QSeSw-qbpu0N6s8puyphh- X-Proofpoint-ORIG-GUID: 6uKEYV8rz4QSeSw-qbpu0N6s8puyphh- X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX8M5LAXh4o2JF FzFPPyzN50/IMOmvznolw63J3cHS8I6UaOmo1X5qzregsPUvDD3c0C1Q9YX3d7bJGcY43BxvqZU YTn9i5ztjyw4rfSck+raQ2GeFoDUSGNeIqga8Phv8493MvRk5kKfAzFfUEoVViLagC9q8qgGXkp W873SYqONrSWcZ0tNAT8hUPyam5wMntHSmlgEX3QfwCUfsubSazsX7qW97ODyoD8o3j4zLl8zUw Hj4WjaZMuXTLqbTBmMi9awXxlDQd0Onq4lr+DsaKuNo3xh0XV+N+OcBu4B/ca59w/p8qFT+uGOw +QfkNYPP1joXzih5AckI5uKdfUNWpQhkCPDtPHV+kIJYM6xSrFukW2HL6VXcUdyQEJd8rfdXGD0 dtZs8ZcyZwyTQ5Fji+P019Nd4LSEL2AtbDxoztCedQoDwks8dd3Gz7v3LsPJ9xmHHUdt1/FGrxH jPkJQyOtPnyEQ41dl6w== X-Authority-Analysis: v=2.4 cv=TaqmcxQh c=1 sm=1 tr=0 ts=6a5a9543 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=EUspDBNiAAAA:8 a=EaMrRQiLzwQp3BzynKIA:9 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX/dJVfALW7Tz/ ffpbs1kFOG+chEcodRYoer/cLl8dInjX9sdYcX0ZQX8dIsekv1sz06KI9SFcByriWTOIKQcDmEL q/kg6BTauBiZGwWQ03gKdmcm6n3E6ww= 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 clxscore=1015 impostorscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" Don't swap the resv object _after_ exposing the newly created obj in LRU or global objects list, as that creates a race condition where another thread could lock the object using the original (per-obj) resv, but then unlock after the resv is replaced. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +- drivers/gpu/drm/msm/msm_fb.c | 4 ++-- drivers/gpu/drm/msm/msm_gem.c | 32 ++++++++++++++++----------- drivers/gpu/drm/msm/msm_gem.h | 2 +- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/ad= reno/a6xx_gmu.c index 2e5d7b53a0c3..9aed142faea1 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c @@ -1546,7 +1546,7 @@ static int a6xx_gmu_memory_alloc(struct a6xx_gmu *gmu= , struct a6xx_gmu_bo *bo, flags |=3D MSM_BO_MAP_PRIV; } =20 - bo->obj =3D msm_gem_new(dev, size, flags); + bo->obj =3D msm_gem_new(dev, size, flags, NULL); if (IS_ERR(bo->obj)) return PTR_ERR(bo->obj); =20 diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c index 9b681e144c07..ee17a47f31c4 100644 --- a/drivers/gpu/drm/msm/msm_fb.c +++ b/drivers/gpu/drm/msm/msm_fb.c @@ -267,11 +267,11 @@ msm_alloc_stolen_fb(struct drm_device *dev, int w, in= t h, int p, uint32_t format /* allocate backing bo */ size =3D mode_cmd.pitches[0] * mode_cmd.height; DBG("allocating %d bytes for fb %d", size, dev->primary->index); - bo =3D msm_gem_new(dev, size, MSM_BO_SCANOUT | MSM_BO_WC | MSM_BO_STOLEN); + bo =3D msm_gem_new(dev, size, MSM_BO_SCANOUT | MSM_BO_WC | MSM_BO_STOLEN,= NULL); if (IS_ERR(bo)) { dev_warn(dev->dev, "could not allocate stolen bo\n"); /* try regular bo: */ - bo =3D msm_gem_new(dev, size, MSM_BO_SCANOUT | MSM_BO_WC); + bo =3D msm_gem_new(dev, size, MSM_BO_SCANOUT | MSM_BO_WC, NULL); } if (IS_ERR(bo)) { DRM_DEV_ERROR(dev->dev, "failed to allocate buffer object\n"); diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 59143be07428..cb00bdf21ef6 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -1134,10 +1134,17 @@ int msm_gem_new_handle(struct drm_device *dev, stru= ct drm_file *file, size_t size, uint32_t flags, uint32_t *handle, char *name) { - struct drm_gem_object *obj; + struct drm_gem_object *obj, *r_obj =3D NULL; int ret; =20 - obj =3D msm_gem_new(dev, size, flags); + if (flags & MSM_BO_NO_SHARE) { + struct msm_context *ctx =3D file->driver_priv; + struct drm_gpuvm *vm =3D msm_context_vm(dev, ctx); + + r_obj =3D drm_gpuvm_resv_obj(vm); + } + + obj =3D msm_gem_new(dev, size, flags, r_obj); =20 if (IS_ERR(obj)) return PTR_ERR(obj); @@ -1145,15 +1152,6 @@ int msm_gem_new_handle(struct drm_device *dev, struc= t drm_file *file, if (name) msm_gem_object_set_name(obj, "%s", name); =20 - if (flags & MSM_BO_NO_SHARE) { - struct msm_context *ctx =3D file->driver_priv; - struct drm_gem_object *r_obj =3D drm_gpuvm_resv_obj(ctx->vm); - - drm_gem_object_get(r_obj); - - obj->resv =3D r_obj->resv; - } - ret =3D drm_gem_handle_create(file, obj, handle); =20 /* drop reference from allocate - handle holds it now */ @@ -1245,7 +1243,9 @@ static int msm_gem_init_bookkeeping(struct drm_gem_ob= ject *obj) return drm_gem_create_mmap_offset(obj); } =20 -struct drm_gem_object *msm_gem_new(struct drm_device *dev, size_t size, ui= nt32_t flags) +struct drm_gem_object * +msm_gem_new(struct drm_device *dev, size_t size, uint32_t flags, + struct drm_gem_object *r_obj) { struct drm_gem_object *obj =3D NULL; int ret; @@ -1262,6 +1262,11 @@ struct drm_gem_object *msm_gem_new(struct drm_device= *dev, size_t size, uint32_t if (ret) return ERR_PTR(ret); =20 + if (flags & MSM_BO_NO_SHARE) { + drm_gem_object_get(r_obj); + obj->resv =3D r_obj->resv; + } + ret =3D drm_gem_object_init(dev, obj, size); if (ret) goto fail; @@ -1298,6 +1303,7 @@ struct drm_gem_object *msm_gem_import(struct drm_devi= ce *dev, if (ret) return ERR_PTR(ret); =20 + obj->resv =3D dmabuf->resv; drm_gem_private_object_init(dev, obj, size); =20 npages =3D size / PAGE_SIZE; @@ -1331,7 +1337,7 @@ void *msm_gem_kernel_new(struct drm_device *dev, size= _t size, uint32_t flags, uint64_t *iova) { void *vaddr; - struct drm_gem_object *obj =3D msm_gem_new(dev, size, flags); + struct drm_gem_object *obj =3D msm_gem_new(dev, size, flags, NULL); int ret; =20 if (IS_ERR(obj)) diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index 762e546d25ef..47ff2bbc1915 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -296,7 +296,7 @@ int msm_gem_cpu_fini(struct drm_gem_object *obj); int msm_gem_new_handle(struct drm_device *dev, struct drm_file *file, size_t size, uint32_t flags, uint32_t *handle, char *name); struct drm_gem_object *msm_gem_new(struct drm_device *dev, - size_t size, uint32_t flags); + size_t size, uint32_t flags, struct drm_gem_object *r_obj); void *msm_gem_kernel_new(struct drm_device *dev, size_t size, uint32_t fla= gs, struct drm_gpuvm *vm, struct drm_gem_object **bo, uint64_t *iova); --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 816AA35E944 for ; Fri, 17 Jul 2026 20:49:10 +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=1784321359; cv=none; b=gKxLP3EdCq5q0x5Ogpd8cUgbS3foxp2pcTCEXas7vEzrS19+dY4QxikSIDmz3/F0Hm42Bz6UW8wSCYJY2Kxet94cBuV2bhjuW7OrisDWv22mv41NdtfQXC6PK02uDI5AEPRiv3/FWxW0jBoMfQqI+URwddzyEHK9b1kFVP2QqCo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321359; c=relaxed/simple; bh=103H7sjaSqTLQYEjwkqUKVVhu8LNhT7rrbQpAMFnKcc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NUJuEJgEuTAV1WBL48ljGa1B3TuJ7x8el77zPw00et/JTTMeN4QBZT4R/wS4jlfrPegTy+nVLX2hR2UQjvSSyJS6S8wp+W4cGaCXNgrNJKv+88ERMqk8+UyEC0HJGw79hvj1KdgMvHtmAmtNEf1AOkUrmmQjv+yatBG5x5zi62M= 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=iXFU0Md6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=USGDIX/U; 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="iXFU0Md6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="USGDIX/U" 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 66HJtbpl2906442 for ; Fri, 17 Jul 2026 20:49:09 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=DA8G+ZNQJ0z SGZowFGnb3Omh257suiDVTqWi0Dh6qc0=; b=iXFU0Md6AWKczwyfoJ68sdt19ip tD9k8pVmC86cWT1lbsw5xmX+LvyUPHYbmFO9LGx4NsqEtvkFuHWoGaY8lblbBxQn AJlJck5MWs3FuenDV10Rjp14Z0mEUUuymcQCxuUnowcHeUTbzcDtRW2Ujyf98WxL wryhSSbGJ/gkq8A61Vp3gEWyiTgtsIeh3i1ZOj4s/70/M+auSrk9Vc5ZJkXsYEtk PVDGInK3cF8dx4/QNfMYS6Tt65uvUc4Mh9GVSz6mVLtrK6nh8cmu2bCybFBo+imP j00i+tvWx9HxLAeRIJlYUzH4PF/m1smTuTumTapsVEyNZJn0fqII59+2mFg== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffrsq8rex-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:09 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c890bac374eso19353125a12.1 for ; Fri, 17 Jul 2026 13:49:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321348; x=1784926148; 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=DA8G+ZNQJ0zSGZowFGnb3Omh257suiDVTqWi0Dh6qc0=; b=USGDIX/UFggrWthZdw1TciPR6+o0xn7xEbg6qFURsW3JppHA+AL2tTHXEWQ0O8reLw QRnTlLrR1Kn83zkB22FuLpc9FbBg1wu4HjY7RYRqWs2KbU7wZjqLMAPkUj7/m+yYnCpc HhyC+G6D60wBp9QcPc0EWWUlXCxcp3y6k8V++lcfP1fqPM6OtgTBfmNp5tko+6pmjAz7 D8r9c2VxEb4F37islMiJTIoVb0S1F6POkOm5dyrJ3vaTQYxvFJT/N8TPf6v8hsQSuTzH EoF1UPePZWHBIYpZ0p6k73ZIywUa5zwR0ZayvXNWt/XdKIT3gcFaHeGs4C4tW8z9Tdnx JjEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321348; x=1784926148; 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=DA8G+ZNQJ0zSGZowFGnb3Omh257suiDVTqWi0Dh6qc0=; b=QXXJEaQwN21H7AE4Tfs4jNDTndX7r4kdJY7TolX0jE/EdpH8RTCg/HYe8765ECY5lQ R73F06L3be3v50Vh1QpHYJWSnoUyCwk7coW3CnqAbyUXcoCgoPxTJSflY3qnMkPf+gvx eyi/C4TjUcu9Kh8UASiNn30slLBcmWRZQufljGOOQQn8V2f3fo++WxV0fTFNLMYRPebO zYHPXXFtQ7+LxgysnOeUSZ+irKavSVAVMzaWnppgX80nBSsv9bf6QOJ3fZXb4/tp84E3 +HwGDqHzmDRjUCz5WByrveSG/apAIsD/3dtwfZQLemncisrYD6GoaU6V8xgaYWTckTdr SIwA== X-Forwarded-Encrypted: i=1; AHgh+RqL8B9wfWBkC5FLOoXTIiOuraF3/SOrXfCo+iPqrHpHjQOkyzDCoykTlY0gm97cJjh1Vf5Hk+4+dFBzOhw=@vger.kernel.org X-Gm-Message-State: AOJu0YxgBRx3XISu0LmYdnQUlrEU2kPXZ81JvQbM6Zt6EkwJuGQA62UC qQBd6msrGxl5eIViTTTniGsRJExI0UmpF2wOUYAG2VcHb+VPg2lLh1EN2/vfkCew0xooxc24UuB xmZN6LhX5j38FKRYONtts6rTlARhbnWhvN3vBzMjri/YZp7kBzOvmntiUw+UV0D2cjg4= X-Gm-Gg: AfdE7cnztkyEIKz+hReOK5hEDSTWR6zpn4bVGkVycZ6ZsY0Mmi3U7GYaCPbhhBRrN4M bbQFJ+iyl7GU2qY9lNs82+znx89EBXjW22j6AjBVsY5m2XP7AYgTyVS5UzZp5ZkKXBbLLxj4z6t 0Pn4sJXgv60X0yfqiyXz54o69xtez45xwycKPXGWo6v6+czHAe9bjWeQasvUIsTAMGFI2rqKkmR vH1pmsVB/NkSc9UJOLy5URzuMnj/26eCgMwQKJW9TjVwJOPHuWm6tmDdQ427Izt4koh1wmvzFU8 bVK/sxaFAe0hQHKFUNgHi9cjV3VHZKVsN/5niXKckjj8Sd9anR9+Rjmkdl5zc55f8+pAK9sbjZP e1EVBQgHjRlB6uvQfiiBYNjaf6tlUWcdjX6suw5ezQQRLCC0= X-Received: by 2002:a05:6a20:258d:b0:3c0:9c19:65bd with SMTP id adf61e73a8af0-3c3adab057cmr4905223637.69.1784321348242; Fri, 17 Jul 2026 13:49:08 -0700 (PDT) X-Received: by 2002:a05:6a20:258d:b0:3c0:9c19:65bd with SMTP id adf61e73a8af0-3c3adab057cmr4905196637.69.1784321347805; Fri, 17 Jul 2026 13:49:07 -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 41be03b00d2f7-cb51a2c2a13sm1338524a12.31.2026.07.17.13.49.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:07 -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 12/16] drm/msm/gem: Validate lazy VM in GEM_NEW Date: Fri, 17 Jul 2026 13:48:28 -0700 Message-ID: <20260717204841.26120-13-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: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX+PfUSDgSywCj 5WNccfhi/WvHlTjsJBzTDoFIB9JnXj3XVl96B30N2V/GzPZVxJjKTCC/1rybKywEcxz56mHyRbm +r+oPIw8j6GcUiOVQmEiDr+GewR+ugM= X-Proofpoint-ORIG-GUID: 9LH9mORznK4k_6ycqGNNOdbPlwqAl-DC X-Proofpoint-GUID: 9LH9mORznK4k_6ycqGNNOdbPlwqAl-DC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX7VLPeUvckgAG YXklB8zzR4arQvSi1T/Xuh1Shg0dxL4T87p4Z7+tds6hidGapy1pleRh2bm7B4neQzDEWlKttCk ZRtadezH4FjExIVHdlDBUl02gubWj0U6ibvQ5i7k62bXDxLuqO/9s+OVQQv4JiLKt88enEyRLWu OPKwOyOjE9/M52RkGnJLeCL2iJZ0TWyN4Nix1Br1Eg9948LD1dVaPCVikmkvFQ1/V2YnvNrsRwV xAlSP3Rd0KTW9Cd2yodOlM5ddbPlpu+ITUgYsXH6pBrKtbUZJCE8sNpoYZzi5hShtNeMTk2q1+X 556QYwDhcsuKuNH0UqsSn0tPbCOmmBZLi/UOrDwnRUm+mViYdr9U0ORN9RKH7sFfG3tz3t21Aj9 mL9qVPUJKSv2jkKlvfnVAFow827EfmtJm3gF/eyiESosCVbfOU/NxwPiT1V5CwRbNtsM0c7VqQK 6PxBBPvJam8lXoCzjOg== X-Authority-Analysis: v=2.4 cv=OJIXGyaB c=1 sm=1 tr=0 ts=6a5a9545 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==: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=VGCgC6sU4evaG-_1UnEA:9 a=bFCP_H2QrGi7Okbo017w:22 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 impostorscore=0 phishscore=0 bulkscore=0 suspectscore=0 adultscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" Otherwise creating a _NO_SHARE BO before any BOs are mapped could cause a NPE. Reported-by: Sashiko Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_gem.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index cb00bdf21ef6..153a4e4a916c 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -1138,9 +1138,13 @@ int msm_gem_new_handle(struct drm_device *dev, struc= t drm_file *file, int ret; =20 if (flags & MSM_BO_NO_SHARE) { + struct msm_drm_private *priv =3D dev->dev_private; struct msm_context *ctx =3D file->driver_priv; struct drm_gpuvm *vm =3D msm_context_vm(dev, ctx); =20 + if (!priv->gpu || !vm) + return UERR(EINVAL, dev, "not supported with shared VM"); + r_obj =3D drm_gpuvm_resv_obj(vm); } =20 --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 A4AD13A544F for ; Fri, 17 Jul 2026 20:49:11 +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=1784321360; cv=none; b=OOvVAI9LEw8vUkP4cDzkA2slyqasiIJgRtaFWcjS62XR9HaIzbMqo7/FH+sx8vxcpzVwhkR388s09zx1LlEBx8NqVxiY5bB6hnyaK0IxL/isNePL0ipMX+xRrHzYs65epsfmA/M6QYaXiBVLyn4U+0M4ke0sNFNDGNy2Ahxe0X0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321360; c=relaxed/simple; bh=JUQ7EMGttbfT/5fmu9W2HpS2GGy0t642YnR7G4osF8E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rPC6lZbSek8sRvPOYQUz3CCYSrEdsBF/X1xb8fX+307QHUP1rbPJItQWwoWyXvFjfuYwAU6Qcx+r1gAzDaagJT9lakuy3hZL0f/YE7Vt4gDUmtwcmfEQfswZkpHr0eyDbzmMex537pYpCmShmUvC19yP7wTzssAO0TXxx0zNYs4= 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=CbMI0vBw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Aqu3XgjI; 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="CbMI0vBw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Aqu3XgjI" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtHUA2597481 for ; Fri, 17 Jul 2026 20:49:11 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=S9p22RaEXCQ i7TxgfihtQyZ/x+xxl4vghHU97Q3yNyc=; b=CbMI0vBwvX7bfkJb4TlgCDXZEcD J5xg4flYLXn+6Zb94EIsnSKDpxEsKRfbxtSEQBYNAZkp41KCZMRxWDHoVAQ6AiQi xjkZ/H3jXE30GEZKy83iGJd1PZR8f2HSJ3WYWWZ2gJqoALdTmiov+CVXx9FlI1n2 r758aJEgjP5Zsm+JQ2YLSQ8+4JU9efbmH0qKMCns1HSLK23KVsRWmqKFn/Qrrctq ci0wPGrvO3EdQQqe66l78bb88noF+OfKy5ncnhQjN8ZBfPahvq/JfRpUr71wkc3m zOFxRReoAniGBNBuUrcVfn+TrK97t9fwRd057mdM0olSpTEXin82btHi7AQ== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffrp8rsgp-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:10 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-38e54b6556aso678890a91.2 for ; Fri, 17 Jul 2026 13:49:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321350; x=1784926150; 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=S9p22RaEXCQi7TxgfihtQyZ/x+xxl4vghHU97Q3yNyc=; b=Aqu3XgjIqUKb+3gZEURS2BoJcm0mDt3wYYf2pL4G5pcmHFraBZgBsyX6zDUoxqNNuD Es7/m6YmH7o2+abZ2UNda+elSMwQBvHJWM3lHJCEVJ7If+UZCbdfrZJc3v1jvdmCCtF1 kV/Ugfu+CQdpNaTWHBBXva0OJvLqjHG2Zil/edYUNxhos+PWt1W5ZPlSfku0yr3ovUwc /zE7Yaq+mP7+F6U6M52ABXu01CpqTFgubMKzJI7U/eoXJpn9vX6cLnuhVvLbq6LJO/a3 igBfMzlnqw55xZcuL/9XvfWbB1Fyag9f+aw8ZBJWGmkiLJWZ65QJUQPWhjTO8Yu5SabX BsZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321350; x=1784926150; 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=S9p22RaEXCQi7TxgfihtQyZ/x+xxl4vghHU97Q3yNyc=; b=py5MQRomCCrNi+1EaEQGLepxb/T6xXQgssS0AwVRgnLKXWLyubk31Rl8RWZyQmdZOD Q+K8LTSKz4dtV9tKBFNmHjIe30zmNswXwcI+F3lVUReGRWx1r0zmjZ08djY0pp1UYYjx UVn4crbqpmfojn9N+mn3evUYqEtRQsF5Hcu4+G8enul6g/daTN8m2gQKUUZzACzc/KfT ZaeeirJcmStvWp9M7+n5FSbkSPes6GobBEo29xG6VlPjnvVDoexREIzTCIJOR+p/JjBD Pj0uIPnMwslcyIuQvwvHxbjRFPJV/KquMCl/5uOCo0k4ON42za4xmZeSZLxsiZ1C+Ifo DzRg== X-Forwarded-Encrypted: i=1; AHgh+RrZ/DbEJfWBRmPmdas7GJyR+/uakB9NuH+lpgq8kivNsJdcBi+ZyB0G0EWYGK0N4Mio6Styw8VbLHxHjPg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8tk1HtkbQlI0nudd0JfPvw//YKVMQRNaOSUG9kjWELI/GBQii S/2uk8j97uLsdExOUV2lQcrB4uIFrrUqpkCELZaks8WU8SrnFFOMAEhrcbdJpCXTERGqtR8Vi1E FonxWu+KuQcsplnXg6JuHZ3Av0zSa+QbkkkZ+kT/bGUCAeIuNHLJy8cinKWZu9OikJBE= X-Gm-Gg: AfdE7clI3oerZNxmAJR7dKUcZRNiNJWt3yUBKL2//Z/K00J2GerVr/Jizh9cxwdFgRU k9QMrhM/lwYhdt+f98A1esLiisHx8chi17RfR0Wlseb2ex2xPhVT3EPemjVdJlMT/8JlM0v9I/x vNMwIcQk0sGEdU/x0owczyVkcAyZnDHKNHzzMUGTHn/QC/oFF7E2/X62tGvlfZsgnPlHyeo/g9s 4mjjwEnwrc+tC79gj32+FsW3YynL4pPx6uS9NzargDqyQ7bVAZmrwj2yhwT/ci1gFJe9gcFC5np n1+qm3iSn6bVyccSHiyx8G1kxyFQNdoPFvS9PEerW3w3+dXyXsLEbJUE5v97b3xf1V9k4ZSM0N9 IMHIQOyLL3WJ6i3o/uSTgACJq70JG2ZkrZfiUfbjh1ldDics= X-Received: by 2002:a17:90b:4d01:b0:37f:f8c5:93c2 with SMTP id 98e67ed59e1d1-38e4b56d65cmr4691799a91.21.1784321350031; Fri, 17 Jul 2026 13:49:10 -0700 (PDT) X-Received: by 2002:a17:90b:4d01:b0:37f:f8c5:93c2 with SMTP id 98e67ed59e1d1-38e4b56d65cmr4691773a91.21.1784321349578; Fri, 17 Jul 2026 13:49:09 -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 98e67ed59e1d1-38e4aff1545sm1701047a91.5.2026.07.17.13.49.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:09 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 13/16] drm/msm: Allow lazy VM creation to fail Date: Fri, 17 Jul 2026 13:48:29 -0700 Message-ID: <20260717204841.26120-14-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: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX5giS65CFtmVm l5H+u21K7/hJEoI00yFEorkjxZAHzWeuECAEByO7HorlLWc9MfCNJhgBvEFl2mN7WtD41+rZnck vne7uzlH4Fvth8v7Ln0bjU6TSlBJcNs= X-Proofpoint-ORIG-GUID: 2y8mfMh2Cxu8yYMHo0gyVROiU8jsN1VL X-Proofpoint-GUID: 2y8mfMh2Cxu8yYMHo0gyVROiU8jsN1VL X-Authority-Analysis: v=2.4 cv=fMYJG5ae c=1 sm=1 tr=0 ts=6a5a9546 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=RFCq6YHzeVPHqihPuhoA:9 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfXwr1VIA2VzZQ4 fUYLjyFtUNgE58I9F0A79oYOrgDs7RHHeUJC9Mq53tSzYS5xx2h/y/ro52GMFlUyBgge2klfSES KhRwGd1km3lCwZqahk1m3en8yyOb/nNBCGvJYOtoyTrmoXdK2xcZkHEXLVYGxCRLwOsOdiD+iFN YpiKgMo25/CSVQB6d62J84NZu9kB6THkHkvYFwickYcWA3XK0sJRXeSCdkN1puxH5t8cb5HNIQo EtQoaxDiUb+Vx9Kkl4gVmHm6+gkTqx7FabEXTgTwd//bEJAT1ygbEim1lHh06zFD9fsDLMA8YLO P8JNo0W+Red6pyEPF+C/2mq7OOqFqVTDsh/EdYH1XU7IN0aDHPihC3fRXlScZ3YOTVYwyQXw9VZ ehD7vtRQgm9Awy10tYCU+eRhzarcNQMVUFHmextCfsXbtq1grP66gUbadZN6fRFaq9E9WeJTxns QpVAF13WoeR59WuxRKA== 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 impostorscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 adultscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" In the next commit, we'll stop falling back to shared VM if private VM creation fails. This isn't expected to happen in practice, it would either require small memory allocations to fail, or missing support in arm-smmu-qcom for setting up per-process pgtable support (ie. missing patch during bringup). Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +- drivers/gpu/drm/msm/msm_drv.c | 9 ++++++++- drivers/gpu/drm/msm/msm_gem_submit.c | 12 ++++++++---- drivers/gpu/drm/msm/msm_gem_vma.c | 12 ++++++++---- drivers/gpu/drm/msm/msm_submitqueue.c | 8 +++++++- 5 files changed, 32 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/= adreno/adreno_gpu.c index 5738eac9aebd..84101e534ebe 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -359,7 +359,7 @@ int adreno_fault_handler(struct msm_gpu *gpu, unsigned = long iova, int flags, static bool valid_per_process_vm(struct msm_gpu *gpu, struct drm_gpuvm *vm) { - return (vm !=3D gpu->vm); + return vm && (vm !=3D gpu->vm); } =20 int adreno_get_param(struct msm_gpu *gpu, struct msm_context *ctx, diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 2fd1b717d8e6..52ff72d8e17a 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -422,10 +422,14 @@ static int msm_ioctl_gem_info_iova(struct drm_device = *dev, { struct msm_drm_private *priv =3D dev->dev_private; struct msm_context *ctx =3D file->driver_priv; + struct drm_gpuvm *vm =3D msm_context_vm(dev, ctx); =20 if (!priv->gpu) return -EINVAL; =20 + if (!vm) + return UERR(ENOMEM, dev, "no VM"); + if (msm_context_is_vmbind(ctx)) return UERR(EINVAL, dev, "VM_BIND is enabled"); =20 @@ -436,7 +440,7 @@ static int msm_ioctl_gem_info_iova(struct drm_device *d= ev, * Don't pin the memory here - just get an address so that userspace can * be productive */ - return msm_gem_get_iova(obj, msm_context_vm(dev, ctx), iova); + return msm_gem_get_iova(obj, vm, iova); } =20 static int msm_ioctl_gem_info_set_iova(struct drm_device *dev, @@ -450,6 +454,9 @@ static int msm_ioctl_gem_info_set_iova(struct drm_devic= e *dev, if (!priv->gpu) return -EINVAL; =20 + if (!vm) + return UERR(ENOMEM, dev, "no VM"); + if (msm_context_is_vmbind(ctx)) return UERR(EINVAL, dev, "VM_BIND is enabled"); =20 diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm= _gem_submit.c index 040354ee16d1..6b0bee6c39bc 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -30,7 +30,7 @@ */ =20 static struct msm_gem_submit *submit_create(struct drm_device *dev, - struct msm_gpu *gpu, + struct msm_gpu *gpu, struct drm_gpuvm *vm, struct msm_gpu_submitqueue *queue, uint32_t nr_bos, uint32_t nr_cmds, u64 drm_client_id) { @@ -66,7 +66,7 @@ static struct msm_gem_submit *submit_create(struct drm_de= vice *dev, =20 kref_init(&submit->ref); submit->dev =3D dev; - submit->vm =3D msm_context_vm(dev, queue->ctx); + submit->vm =3D vm; submit->gpu =3D gpu; submit->cmd =3D (void *)&submit->bos[nr_bos]; submit->queue =3D queue; @@ -552,6 +552,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *= data, struct msm_drm_private *priv =3D dev->dev_private; struct drm_msm_gem_submit *args =3D data; struct msm_context *ctx =3D file->driver_priv; + struct drm_gpuvm *vm =3D msm_context_vm(dev, ctx); struct msm_gem_submit *submit =3D NULL; struct msm_gpu *gpu =3D priv->gpu; struct msm_gpu_submitqueue *queue; @@ -567,10 +568,13 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void= *data, if (!gpu) return -ENXIO; =20 + if (!vm) + return UERR(ENOMEM, dev, "no VM"); + if (args->pad) return -EINVAL; =20 - if (to_msm_vm(ctx->vm)->unusable) + if (to_msm_vm(vm)->unusable) return UERR(EPIPE, dev, "context is unusable"); =20 /* for now, we just have 3d pipe.. eventually this would need to @@ -607,7 +611,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *= data, } } =20 - submit =3D submit_create(dev, gpu, queue, args->nr_bos, args->nr_cmds, + submit =3D submit_create(dev, gpu, vm, queue, args->nr_bos, args->nr_cmds, file->client_id); if (IS_ERR(submit)) { ret =3D PTR_ERR(submit); diff --git a/drivers/gpu/drm/msm/msm_gem_vma.c b/drivers/gpu/drm/msm/msm_ge= m_vma.c index 3ed05ab0eeef..1fd4789f2be3 100644 --- a/drivers/gpu/drm/msm/msm_gem_vma.c +++ b/drivers/gpu/drm/msm/msm_gem_vma.c @@ -954,7 +954,7 @@ msm_gem_vm_close(struct drm_gpuvm *gpuvm) =20 =20 static struct msm_vm_bind_job * -vm_bind_job_create(struct drm_device *dev, struct drm_file *file, +vm_bind_job_create(struct drm_device *dev, struct drm_file *file, struct d= rm_gpuvm *vm, struct msm_gpu_submitqueue *queue, uint32_t nr_ops) { struct msm_vm_bind_job *job; @@ -971,7 +971,7 @@ vm_bind_job_create(struct drm_device *dev, struct drm_f= ile *file, return ERR_PTR(ret); } =20 - job->vm =3D msm_context_vm(dev, queue->ctx); + job->vm =3D vm; job->queue =3D queue; INIT_LIST_HEAD(&job->vm_ops); =20 @@ -1430,6 +1430,7 @@ msm_ioctl_vm_bind(struct drm_device *dev, void *data,= struct drm_file *file) struct msm_drm_private *priv =3D dev->dev_private; struct drm_msm_vm_bind *args =3D data; struct msm_context *ctx =3D file->driver_priv; + struct drm_gpuvm *vm =3D msm_context_vm(dev, ctx); struct msm_vm_bind_job *job =3D NULL; struct msm_gpu *gpu =3D priv->gpu; struct msm_gpu_submitqueue *queue; @@ -1444,11 +1445,14 @@ msm_ioctl_vm_bind(struct drm_device *dev, void *dat= a, struct drm_file *file) if (!gpu) return -ENXIO; =20 + if (!vm) + return UERR(ENOMEM, dev, "no VM"); + /* * Maybe we could allow just UNMAP ops? OTOH userspace should just * immediately close the device file and all will be torn down. */ - if (to_msm_vm(msm_context_vm(dev, ctx))->unusable) + if (to_msm_vm(vm)->unusable) return UERR(EPIPE, dev, "context is unusable"); =20 /* @@ -1479,7 +1483,7 @@ msm_ioctl_vm_bind(struct drm_device *dev, void *data,= struct drm_file *file) } } =20 - job =3D vm_bind_job_create(dev, file, queue, args->nr_ops); + job =3D vm_bind_job_create(dev, file, vm, queue, args->nr_ops); if (IS_ERR(job)) { ret =3D PTR_ERR(job); goto out_post_unlock; diff --git a/drivers/gpu/drm/msm/msm_submitqueue.c b/drivers/gpu/drm/msm/ms= m_submitqueue.c index 233c4f35ab12..d307cdd17d90 100644 --- a/drivers/gpu/drm/msm/msm_submitqueue.c +++ b/drivers/gpu/drm/msm/msm_submitqueue.c @@ -174,6 +174,7 @@ int msm_submitqueue_create(struct drm_device *drm, stru= ct msm_context *ctx, struct msm_drm_private *priv =3D drm->dev_private; struct msm_gpu_submitqueue *queue; enum drm_sched_priority sched_prio; + struct drm_gpuvm *vm =3D NULL; unsigned ring_nr; int ret; =20 @@ -186,6 +187,11 @@ int msm_submitqueue_create(struct drm_device *drm, str= uct msm_context *ctx, if (flags & MSM_SUBMITQUEUE_VM_BIND) { unsigned sz; =20 + vm =3D msm_context_vm(drm, ctx); + + if (!vm) + return UERR(ENOMEM, drm, "no VM"); + /* Not allowed for kernel managed VMs (ie. kernel allocs VA) */ if (!msm_context_is_vmbind(ctx)) return -EINVAL; @@ -217,7 +223,7 @@ int msm_submitqueue_create(struct drm_device *drm, stru= ct msm_context *ctx, queue->flags =3D flags; =20 if (flags & MSM_SUBMITQUEUE_VM_BIND) { - struct drm_gpu_scheduler *sched =3D &to_msm_vm(msm_context_vm(drm, ctx))= ->sched; + struct drm_gpu_scheduler *sched =3D &to_msm_vm(vm)->sched; =20 queue->entity =3D &queue->_vm_bind_entity[0]; =20 --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 7976F36E460 for ; Fri, 17 Jul 2026 20:49:13 +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=1784321360; cv=none; b=VrT368jscmPjvXRNWNB8BcXtSSAburQ3PI2b8kmQ8aob3wLiEL5KaLfb4GAtQuTYdJ5qJQLL6mgKQxmbcjPCU2HwM3TIWfyRw5q7SYdbzELKRh7NLkMXGv3or7qs6KM4KIT+jAQUVCBt2UxvaVXRmb2+to+y6Mv20zz6G/PnKIs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321360; c=relaxed/simple; bh=5jusFGwn3Qm4zEYz94oUfi+TSGTz9Tl8cBbI4B7YQDk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=d9r8v/y4hUJplHpFw0mb/f5mnvnJf+lJNUiYnIyY5CuxPg3I8ikyh4nbTgyJ6SQ7RYPsCUPxcydXeurQ7W0AgptHS/noaIOYFNnewBnweTj1OASbxb/2yZYgfeUTAxfweGP8RxsFjobd4wPscKtdpytZDt/jGEwI8W6jdPhil1Y= 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=RNkF/IDT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=asMdpM8Z; 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="RNkF/IDT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="asMdpM8Z" 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 66HJtVRt2619490 for ; Fri, 17 Jul 2026 20:49:12 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=4y99CIHhO7Z Ma20JkU9vG7q5Jf/ock0IskJ460LHt8I=; b=RNkF/IDTdB/8cjkd877OsA0iNJx Ijt0TcpsLXlUxHxa8yrB64zdCa2GR47qr620wPjFoH/yaYVDx6FFqxWuZwQcYt0d D1eNFOxcJaSGlY1dVrUfq2WiUXgU/C7kjw0z7OAPH3wjbEfXH3TJhepuGWuQ1i/7 4Dw0vG5RmKKJYvDz96ryZDtgV4Ot9AYNxV7+i0wc/gGYx6dSBEoQeXBDY2O9oWWX V6laMNUaPDj0RzcwpDCNBeJaT1hjGnhc42agsPpJSIKAfvuqfFT5C1NDsyKFUkax 7QebA0diTVVW3XpY/1eRTrftgcOxArw4ZekoI+y9Q85wMDV9e6BOP3f3Qqg== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fffagb7h0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:12 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-384419c6c74so10460153a91.1 for ; Fri, 17 Jul 2026 13:49:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321352; x=1784926152; 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=4y99CIHhO7ZMa20JkU9vG7q5Jf/ock0IskJ460LHt8I=; b=asMdpM8ZZbMU4U5CwxE3DNcfUOPtr3ditw2W+5cD3Uw3pKlHbej700+xuuFnMipCdQ C9zBTAm7QZJr0qc4tid1BpVOYhUCkrQW3UuC245Fvin8S9A9abW37vDA76jMraGUKYsG b5N8V6rmjPhItYomiai4GWU35d81KAlQ6Gb3cp195Y75MXSOm0a6XsrypFseJCgvQfoj cjmxrYiUTkHd2BXH52khAs59UxI4Vckm5bYFYTfA6tVUH85bbBXSRC9NjbspCFVSjMfs +8a5qU9TYl6RL6Zm7CFh7Nku4pjHiKZWtk/TJtSQd0ftjikz1lfYwdPw0saX/neLjfn9 BzoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321352; x=1784926152; 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=4y99CIHhO7ZMa20JkU9vG7q5Jf/ock0IskJ460LHt8I=; b=OcfhtvclfCU9/OrHepx8b9BJXM6iKcJtHOGZQVfkx/WJ7wi4ahucR6WXkUSDxj3dQg hXSgAPqI9v2/4eiF5KuD5GQp4A1AVdmf4nXTIeV2r+adpndxwGxxaxbPkfzBOgKeLDAT yr25LoN94Xm6u37MJ1PjiLVzd+OA745UchpJD3DRn0BW0sKRR53sVVu/rQsOZWDha5fv hZjA4g/EgZ3XC4QZacfGQ/qrQqa5cPphMvK9lsIiT8/OatO9x1sVNAUgHBZuAxE7uHU0 VuJVWcOCXo1o5UDzmexqpKnARZYA5GIlFgXdZuJIU0HiT+BMIgveQ3QbUdIlno9buLmF 3x1g== X-Forwarded-Encrypted: i=1; AHgh+Rr2dIg81B5bu+InkeU8hLIKJI9XcQr2RULVe8pOw/+avKUw4rQkrlUwR1kBxHuRyuIgq/+zSg8sENZrX6E=@vger.kernel.org X-Gm-Message-State: AOJu0Yy03Gkn7+rYEbSICqscHrUSiBKK5t3mcLNYD0N0O0dIx2fcLiTq VEhS64PWO3bzvcVLiKKx/hZDepGUFSeafTRNnfxHMyWhvh96IlGT1+2FwbhlesWd8lOSOXk5uRe giGrcMvtEGoCVbhHwawJM5/UqF5X3ym0J4W/t8hOUbkk995LnhLOuSSX9fIPD00jiElgAVqWcDa 8= X-Gm-Gg: AfdE7ckeypi2DJMLrOGxjDD6GUKaVnmNhKktDTKY8U3MrME4RzJakaPp73uW34IHEM0 2MfXmxA/fmwEJA5BgvTyRDE0oIbnwGVwwNIX3F9gOTKl0shy3dsb81zjOBvDW0oBlt76bZa9xc9 OekueDFTS8/H9XFonxYg0B8UGTUs3sp+sGQS8inqs2UpcOgo6QKB4kDudIiYf+DPHUjrF/k1TXe YSayp02mCoV/RRlvWG/j3mzp8ITsMlR6kH25vpnR13lC2NqXYMmhAP4rPCEi/+Iv/PtxWIDw6t/ qJQVMYKF31TMKfXMV7IYC4vjdUhNvq5ol0oYvJDWkb9UPmaSU5khQ9ZMeCDCQ+FXzXJXfwL6L08 d4SttfW5F2fB3a5nS1ERz3M9ySLyIeRYppftrXq58MnE76A0= X-Received: by 2002:a17:90b:1844:b0:37f:9ce1:cdb2 with SMTP id 98e67ed59e1d1-38e4b55aeebmr4534803a91.32.1784321351945; Fri, 17 Jul 2026 13:49:11 -0700 (PDT) X-Received: by 2002:a17:90b:1844:b0:37f:9ce1:cdb2 with SMTP id 98e67ed59e1d1-38e4b55aeebmr4534758a91.32.1784321351503; Fri, 17 Jul 2026 13:49:11 -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 98e67ed59e1d1-38e3a11e36fsm3627781a91.17.2026.07.17.13.49.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:10 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Konrad Dybcio , Akhil P Oommen , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 14/16] drm/msm: Don't fallback to shared VM for VM_BIND Date: Fri, 17 Jul 2026 13:48:30 -0700 Message-ID: <20260717204841.26120-15-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: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfXygYvkuL73qfK wFnLaa7lZoi4eaZMa7m+HtwoimuIyEd1QxD8/U4W7xtkpuIVqxfXe/vx1z/DwYRIVAtzrXYpnMw /KmK4Hs6qjWKd2vRlyS/T+qQf8AkqkNRLkTZrsOI5GbGOSQve86Y5K5weRip0b3Vsr0TXXBfwvP +U5qKSI11JrC8loba07HlQAiAyhZdZCrlnKPkkDBPxheFZY0R9Pobe6UMILv3W6txhPV1z8exrv 41gZlmv5EleOERaJKad7FBg76/09V8khOIzRwqikdYl7+UrOG7YyL6v6yipu3P2XA3frkmrVT1l VrxhWXBJ+dV8BkrwuU9jhINSOAmtOt5s4BYvMJ2WtOV32uP/xNRgmAjYVx2nn8ONnJB/3XNoYwU jqRE/yg2In36/u+QVE8N/vqRNyEMCY8AgZZNi2AlyJ0oXekFXoWZJCcs3i9swU6B/rLJ8CQeftK I+FC+Kvmn+fpI26oshA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX8cyVU+Qu3BHP WogAIRo3Ij8hrqWGxOl7HCrLgsUN8kkV7Lu2w19HFLkNYw8Dxi6rwxdtCsP4GbiYPkyv9dKGQtV VC4104BTQ5vyvsm78E7Gsorsp/3/lNI= X-Authority-Analysis: v=2.4 cv=KZfidwYD c=1 sm=1 tr=0 ts=6a5a9548 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=isCY8TonHXl0-fnU9HAA:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-GUID: 7km9odiLkhjVe2gJh_AOMWN6iXj5wMCH X-Proofpoint-ORIG-GUID: 7km9odiLkhjVe2gJh_AOMWN6iXj5wMCH 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 Content-Type: text/plain; charset="utf-8" If the user wants a userspace managed VM (EN_VM_BIND) don't silently fall back to shared VM. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_drv.c | 3 ++- drivers/gpu/drm/msm/msm_gpu.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 52ff72d8e17a..73d99bde26f1 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -234,7 +234,8 @@ struct drm_gpuvm *msm_context_vm(struct drm_device *dev= , struct msm_context *ctx if (!ctx->vm) { vm =3D msm_gpu_create_private_vm( priv->gpu, current, !ctx->userspace_managed_vm); - smp_store_release(&ctx->vm, vm); + if (!IS_ERR_OR_NULL(vm)) + smp_store_release(&ctx->vm, vm); } =20 return ctx->vm; diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index 18ed00e5f143..a1c4adcac128 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -875,7 +875,7 @@ msm_gpu_create_private_vm(struct msm_gpu *gpu, struct t= ask_struct *task, to_msm_vm(vm)->pid =3D get_pid(task_pid(task)); } =20 - if (IS_ERR_OR_NULL(vm)) + if (IS_ERR_OR_NULL(vm) && kernel_managed) vm =3D drm_gpuvm_get(gpu->vm); =20 return vm; --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 7A80F3A6EEB for ; Fri, 17 Jul 2026 20:49:15 +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=1784321360; cv=none; b=DXVGP+0wfBH5L+lYKc6YDFDwpeiPCf5lbLYEzeD36JcK9s2KexR9ND8dTwfBuM9gT/Rc6qPploe/mjRDT5oEFa8dgjYs4Z/BwpfCxiNB3C7gpx9zQiH37WpwOmdvN02dDKzt7SJ0dpS+m3uv013RV9EWIfLXA6YC6StrnFuXJkk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321360; c=relaxed/simple; bh=E9lhuuPceEzcrtwxHEW7FLrBs+KDkPNfNChM1KDD/e0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MB0I6yprQGTNdLDUWDSxLwhEsKOAMo/83kJVjQC9KN3Ip0BRafKq7FieOaGB52YhQWPrXJkx4ITugQ//lqnLafE5wGhH3ioMOsadCSP6FsNK4TatHr3Ti8x+QZx21v9d++JnFF8GsOel87QdV7X8qHIHzLsWRayfZp1+4swPEjQ= 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=ZLzJcICi; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Zkz4dhsb; 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="ZLzJcICi"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Zkz4dhsb" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJthmd2752016 for ; Fri, 17 Jul 2026 20:49:14 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=ILFLFLBAWhy u3kdv15Hw22354Io0JE1gAt8uUSQ6n/Q=; b=ZLzJcICivawMYSWzPeMSvxIDZDx EiebTpbRrJdFU1JjhPHKqErJJCj+hIor1/yp+/hGxSZWbGxabRE79RI0kWYEccJD J0+2mm+hxlT53HhadW8P8nIMBkpFasbdzRuIWLEvWjWDGgZSjmQE/9JrU+yqwdlM ndaETGhw3bDT6VuPkezp858BdDjUWmqGN826rabwQoyNZLZPMRUcahGwBxVjvmHo PdQqbIAee1tFvsPVoloAnpEnRE9+WwD0YdBE9aN5yVtIhsOkoVHMglivelo6cMkQ +VmLujvFyZMbmo5qEHsmO/xxNVw/7g5Wvw7DjpEBLhYPoBLuf2eowHxdACw== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffpug1axx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:14 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-c8952346bb9so7114087a12.2 for ; Fri, 17 Jul 2026 13:49:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321353; x=1784926153; 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=ILFLFLBAWhyu3kdv15Hw22354Io0JE1gAt8uUSQ6n/Q=; b=Zkz4dhsbiE2PFNKv5xHlwsUXpVimAwvuNGrMMaX6AAf3SHcKR+oLWx+0k18d19Piud lZFub+yPcXjpWdwdbk5awla6U9jIM4yl/tQV14NpDu2Qw6wmE6ovA3JWFI1TeoVYdZYG xTTW5QZ8Vh6r+8uB7kAV/3t1faNMaoIBLs4DwPzEUBsQ/CvNW9Vq9CJJM+Q8wjpCTI1+ HWy42XC+tJqy+OOi01al+W0gWkLVr+9cp76Wz9+n4JKHD9x4v4bxmBpxh/tVbDIWWdG/ jfJNLz15mxngTGDnI8+IzF8uqzrrgS+8SE7sc/WcU9OQ16PnOh9oaqlZnEPVZjxe9S9/ hynw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321353; x=1784926153; 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=ILFLFLBAWhyu3kdv15Hw22354Io0JE1gAt8uUSQ6n/Q=; b=NEHOWqsAfNewNYzJE8bC+F1TbIO+bWHHILOonqWWk7sd/zAq8EGRztlFMpuvCIxvWO IqWYtNBWIXlgKTkH02HnqFqQCr6dlesujlLDKYAPCpO1EwzDoEWuzpoffkTQAMqH5d15 pA82uZhwF+gMo4G7SW7eApd0x8W/bbASgcDlKXoCz5GtOKOUhDWssw6y9okYnXK3dcn9 hAJXjeuJ1oiLx6EI4mnig9f4bLpjP0R7grNlsGYPsJ2Y7u60Gcsp1+N3+bHHv9TfwbSy vUFY6FlYGHDF3cx4Xpl+Uhtt8Pfaq8lylpTtWeTHhxM9VrqfjKTa54eu36ziqxjupse+ BQAg== X-Forwarded-Encrypted: i=1; AHgh+RpozaqdJBx8gMqwu4AUt+bpYdROl5gWVVqYOw2DqjUu2baL/iSF9V+MX/CVhWELiusUQ5hjV528Drxn8tc=@vger.kernel.org X-Gm-Message-State: AOJu0Yxx0GSof1UtT17PwfcKte/uL110i+xEVP936uObnhJxJ+fz1Yec TbSQN2Ln/rznQIWQOIJYG8TEXq950luOtV3rVXotjpfuXzi+Uccl4em+tvb1bbdVujkbeLG3WbN 09a8bwvge9uLNR+qsie/XqLiopn8G7ytGRoEiFeYtlfPJ0c9rwkeCyMdS6etB8EE1sxA= X-Gm-Gg: AfdE7ckd2LMBTHJFNkwDPMKLXvHQnoDtxpGbyHWvWIV67mAqa8bKvldf6qfwwUc5MDn RDQuIkbK4XLHlkTXs85hlsZyegHOcpOqcFj/m/VEdlWUCSuBis2mu042zpgrOzeWZnxykvCOaQn rRDg9J4jVDZzEczABXPyhzrkpE0G5LGNrMk1P5w+H9Vwu2QDToqwwf95y22Fww8vdSx5xUKzEks EwYM192zVMoEc42TG2QhSY37Ms0oIz3Tkm0x6/Q39qGi9aOFYX4ExIUHkV95vGH48O3eqKGqY9k ERWNXdWqYqERZ/Fc/Il45kVzKhnQ11cPSiZh0uiRxHNnUTfECkZdU5Q1hZfi2pec8smilV8WCeI 5ud048lT5ukAYSgMWqVGObNIvau9FDsoM0663NbNMaoY5VUM= X-Received: by 2002:a05:6a00:1f0b:b0:848:700d:c950 with SMTP id d2e1a72fcca58-84c29505e3emr4501503b3a.37.1784321353252; Fri, 17 Jul 2026 13:49:13 -0700 (PDT) X-Received: by 2002:a05:6a00:1f0b:b0:848:700d:c950 with SMTP id d2e1a72fcca58-84c29505e3emr4501472b3a.37.1784321352818; Fri, 17 Jul 2026 13:49:12 -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-84c2e68e7b8sm1473968b3a.35.2026.07.17.13.49.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:12 -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 , Sean Paul , Konrad Dybcio , Akhil P Oommen , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Marijn Suijten , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v6 15/16] drm/msm: Fix per-process-pgtables check Date: Fri, 17 Jul 2026 13:48:31 -0700 Message-ID: <20260717204841.26120-16-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: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX5aVtdLIB+46v bOnKD7kIeuAJFTLTD5h09MljcoGoucI2LiXkrQNfFhSYLQ38GY5s/4A/57aGrLGvKFwTOBmp0mk 5CeFqZmJDpuUgvr6yRj/ibIzBBkdI0OYlg4EHM4Faeiv/i1cKkbiA18SRBuM3Q2Mz0FnQm13d7N rf6RA31KshAKYVj5xF4Zmo5gbUDa7qyGgvdLe8+ZN+xOK35z6DjbRTtpLV4y4LjjBQ6SvrVvgOT yQQo3/BQ07v8Hzpv0tdWJHCCsfgVlpiYpYyimrd6JnL8zIjsEQg+AqbaFRlvuara4WekSrN6N9b qplr+va8tOzjXNIJakg/RRRHK1e5+pt6mrgKr/w5OX54aSzcAOir4Q33cgKK03f/IwA3Cb3jszQ Vdj5Qr/PSM4hmbhSqPOGNyhXurSFI/a/m6eCfGXO+4CyLc9uuulPOT8gME36lFxIIrO0X3QIeUV rGlyw2t5nnBA7WHUMnQ== X-Proofpoint-GUID: ygA3FL2YH6KhMXsgBWhuEWuSyd6p7BwW X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX2tb7W6QAOvba agErdvaNOuQaBltfOqjWFhRKH8znxHYM7W8fD9/f2MhE5LP8kbbmwk+0tuheDOf6pzkuY73GFEi GA12GRQR2s/i6RBxFIP0L8qQGILKnXA= X-Proofpoint-ORIG-GUID: ygA3FL2YH6KhMXsgBWhuEWuSyd6p7BwW X-Authority-Analysis: v=2.4 cv=Q63iJY2a c=1 sm=1 tr=0 ts=6a5a954a cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=_1v2yp3k2DT7xr2y9HAA:9 a=3WC7DwWrALyhR5TkjVHa:22 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 clxscore=1015 phishscore=0 spamscore=0 bulkscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" ctx->vm should not be inialized yet (or if it has, an error is returned immediately following this check), so this isn't a valid way to check for per-process-pgtable support. Instead just check if create_private_vm() is supported. Reported-by: Sashiko Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/= adreno/adreno_gpu.c index 84101e534ebe..3370cd44382f 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -513,7 +513,7 @@ int adreno_set_param(struct msm_gpu *gpu, struct msm_co= ntext *ctx, guard(rwsem_read)(&ctx->ctxlock); =20 /* We can only support VM_BIND with per-process pgtables: */ - if (ctx->vm =3D=3D gpu->vm) + if (!gpu->funcs->create_private_vm) return UERR(EINVAL, drm, "requires per-process pgtables"); =20 /* --=20 2.55.0 From nobody Sat Jul 25 04:53:43 2026 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 3833333C188 for ; Fri, 17 Jul 2026 20:49:18 +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=1784321361; cv=none; b=gAjqlTT6qZft6/SmZCpIyBKDqUK6XsZ+aPIOEQi2YtEpn3KD9p1a7I1Yl4hpDEP1C86/rPYtRWtJ8P3UEkNWPNFne159+uaRc5TxHZuS9XXUYSU1Bh15et/w4ze0kzUsiSDWMaGVjPPGBWDfFyXeYvIwtUUxmf6SpwtnxYsiQu0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784321361; c=relaxed/simple; bh=+8OgFO6VNJ8TsixnL3Bkmbua4zl1BlZxa3GBrY+qUZE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qpCuwc8ZEPDnH3hCrQTQ+0Hv9F2py2q20+otoEvHQ0/XWvpZQfVSM5M8UP11hBvTDl/LP3YgFuAiiw8V4PMbFsxuYncYZVPVxKxDwZB0CWHguiJM7TUOzPssUKDzT3HY2zsDcSzOAjCEJQxAOYYWFrkYQePZV/pDCWe90bV9NRo= 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=CkuhYW2M; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IRVBzcHz; 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="CkuhYW2M"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IRVBzcHz" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJts8a2824506 for ; Fri, 17 Jul 2026 20:49:16 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=rc/ljxoshAi Nv4QJKXYpPgimbLWzx8XhYbA7LeAuwfE=; b=CkuhYW2MFx6PieJDfPOg1vAxRMi lQuODqYGR6MgKww/4cqAPa2xFIYsjXOu839fbOctmFjK2ZxudHzue/81/jeT+wTn Ok9nU/YlgDQtFksVD+75JqrGn0bau1dUV8bMZv+IdsfkmQ5Us405JfWpWSsIoPjm ttYRpFT4hkXOw1ppDCawJjuIJj2KZP/0uOHdjhieY6FUwBQRv00MHu03ma5fEPhl KvR3ouJDXaNEXpIqemY1Gy5JRofm0vNdNIyBDjU4Nq62CGtVwC+TzVwf7Sj50pQ9 nlEAP+maVneTbZtghXN0tpiCcrHnfC0VMn8e7AXxW4FGzM+uq1FRROtT3ng== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fff8139qj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 20:49:15 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2cccfa32670so109619165ad.2 for ; Fri, 17 Jul 2026 13:49:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784321355; x=1784926155; 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=rc/ljxoshAiNv4QJKXYpPgimbLWzx8XhYbA7LeAuwfE=; b=IRVBzcHz71x9koy3S32eCMdQrtN5HuU+rck41SEkLA5hxHb8wOnJR74gfyrqsb056O l6mkjcimnR/ZQZ+wPvRuEo8oI7H1XE2KAu2zzNy+NSnTlruyhuV6z80Maunhq3q8bToN d++jUyO++5PxFeS14nSSTxpXp6V1OAH//+E0DASfSdCGSpjuuXgS7B8n0uAierUDGhz5 JPgQB5rWd7p55uiu9OJmaGDwHgmGS4s8nmQpgCZW9yEGaSYejJovgWQhjkoCaIDusDPY 1gSRLK0OkbsR/Ui/JVr/ifTAanW01GhkiC9ZpL4bgFcjGLwBvf/tHBOnX0xOGqO+V2V9 dXVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784321355; x=1784926155; 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=rc/ljxoshAiNv4QJKXYpPgimbLWzx8XhYbA7LeAuwfE=; b=NwZH7Tp4KLnfYkPYM7T8WnPDqk9rOkE1MGDEu2s4+vweBz5S9eRbqb+iRFZfFHFQUx H5e0/x3bkts1OzFtsn+zLAT/dsJI3UgJqpPdDXfJUrGdBJ5X+6qBYejsbuvqhKOhMTJF 8RDeJg+tdXgmQnmZeb3lNG4y96ti1m3xCC7TkpXDoxrRGFb1OkHYic54LltDGL7NccY3 jZbHbS/eypHEzrWAT8xgUaShkGHfK1i3sUr0PjZ13Q9Oak/4mh90E0isGnPJuKyM8zy1 DClpKzPqCtF2JNy8jAoR7TETC91/T1nyOG4y/0FlilCCUfZRFnEOijERRMrNuegZFpuk eT5A== X-Forwarded-Encrypted: i=1; AHgh+RrgkWgbPlETBa3bPG5+DQAbl7Nycf3h1o2AKpOyCBtsG9n0dSszpJ8O+jWjacSCB2p5A1U4UF76NOngPhw=@vger.kernel.org X-Gm-Message-State: AOJu0YzLQ64ScOJ3R6YyHKb8UmvM1S/Q6hqZuB5jt+I+5dNnH89lp1h4 tUX/jgDPBiIV+3quC69tMcXiUXXnOA3juwvisiJD+d9rWCiNWu+9OCOcg508isPP5UnDWWYN0Ai Ns2mcX6ttWRSbeYXZagA2ckW0TvuAEVt/qusRQiIzAvDBeWVE/sOI9XwqVBf9JQOdTZU= X-Gm-Gg: AfdE7ckTh1uOmcVlSpOdGoiNjyoxbOQPDBIC3w2dlgoojWn+03nuPNzl7zh2Q4Kn4/Q j0E3UOOaLjiIeHLi+1LJiCmyG68olUCjmCXyaAIOuh0udes1SN9R22WFdNJb4xUW8hJXtzR4bOj PvTA8KeUqKpYQ2mH5bxEBlHhfcCr/dUfuvv6vfhZBt3pmr0BhaLWz57/a2S67tZbuxuwgoJJod+ TZis3QkQyBzl1XCvRDI9mpireTnSin7RhadIFKuQ5fvWT3slrJZTuAI8SYklrskYT9RZie1uSNQ V/duCogwVA1yrpidHnd6CuTDS/NWWYaIxP9JHScLLaebVESpo/MkepzOGhyDSCifR3HBxVXexpn q9aJvgFp4Me0aPfGp/QYQaTnRk6gU1ICPB9SWlLvnDBKeswk= X-Received: by 2002:a17:903:1b6f:b0:2c6:a172:55a6 with SMTP id d9443c01a7336-2cf3481df5bmr48572675ad.9.1784321354899; Fri, 17 Jul 2026 13:49:14 -0700 (PDT) X-Received: by 2002:a17:903:1b6f:b0:2c6:a172:55a6 with SMTP id d9443c01a7336-2cf3481df5bmr48572335ad.9.1784321354470; Fri, 17 Jul 2026 13:49:14 -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-2cf347165b1sm16750405ad.60.2026.07.17.13.49.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 13:49:13 -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 16/16] drm/msm: Fixup invalid overflow check Date: Fri, 17 Jul 2026 13:48:32 -0700 Message-ID: <20260717204841.26120-17-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: quoted-printable X-Authority-Analysis: v=2.4 cv=RbqgzVtv c=1 sm=1 tr=0 ts=6a5a954b cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=19Wyn7e3V/0aNffMjNCMQw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=uVkA5J_fsNn9jy38BCIA:9 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: cjrm5moJ6uGoSoluE5wYLV27RejkmG0L X-Proofpoint-ORIG-GUID: cjrm5moJ6uGoSoluE5wYLV27RejkmG0L X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfXxvlAvoRAKVob H493CihGpvXwYLVuMP2vYPen47Fr+vEbgeQDYk23goTeeWvZH2tKbq+27GDhNtbzsm1QG5SCtQ7 qF2P6bXPHxXXhcAaaHOSRLJOOjn14EYMF0Szc1gL45I3oKgl1qUcY/xdAElTUNSRfIAlffAQ25j kGCk0NwLsWx1K38YI81FFNdr+RKWDY5zfo1xr7+/bmf6IVwJJGJbiEFGmKMtTnU4STg2KYacOU7 uMtg9f46+7Zm+IUmAaiMFIlER3e/ZiBIiFo7tFMzsg6er28Cx7paXTQfT8HZowycnzbycXsYu50 BVv/pYDTg6Y4InCbIl7DGQATKxzAGmQnVQ1UJEbItWua0a3dMluIv+4/RS/9DfQMOJCR+TYbMay DKuYMgK9K2jc8mRrgZXB4H9hcRgVfoDJE6Dg/CfX8uk6k5YIIngI4GN3Q5SIW7xigMb8OJ/GxfH /WMe7qAhtAuROt35Igw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIxNCBTYWx0ZWRfX0oN19597Mbo9 1qf98kNXdgEABMGaam5j1SNkNd4/YJFkR1zLyFsgyOp6zfpun25fS6FbZDfd+PP8asUo8SohNwg aSzuWs2rXC/hvryNBZKsSkqGucknNhE= 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 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170214 Content-Type: text/plain; charset="utf-8" On overflow struct_size() would return SIZE_MAX. But kzalloc() (and friends) check this already, so we can just remove the check. On the other hand, we should be using the overflow helpers to calculate the cmd array size. Reported-by: Sashiko Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_gem_submit.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm= _gem_submit.c index 6b0bee6c39bc..5862db05297a 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -36,14 +36,11 @@ static struct msm_gem_submit *submit_create(struct drm_= device *dev, { static atomic_t ident =3D ATOMIC_INIT(0); struct msm_gem_submit *submit; - uint64_t sz; + size_t sz; int ret; =20 - sz =3D struct_size(submit, bos, nr_bos) + - ((u64)nr_cmds * sizeof(submit->cmd[0])); - - if (sz > SIZE_MAX) - return ERR_PTR(-ENOMEM); + sz =3D size_add(struct_size(submit, bos, nr_bos), + array_size(sizeof(submit->cmd[0]), nr_cmds)); =20 submit =3D kzalloc(sz, GFP_KERNEL | __GFP_NOWARN); if (!submit) --=20 2.55.0