Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 A76114503FA; Thu, 30 Jul 2026 15:26:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785425175; cv=none; b=k9ssFYujuGzz5m9taFgXKT6ZuLHJPUzQ2Qdg7zweJrO60jwWIgCDAAkiY8Cz+lYj/bTKKqrkzyqxUsGVP1BTnLJxN3KtOzwDJQFMnXT3UqReY6nWUygrN78M+IlarNVVmn5/h8y7jXgOecn50cN2TU5n++NFwkPlJMaAgipo7/E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785425175; c=relaxed/simple; bh=Vi3PNeqHJyqanJvSMGzAMQXWbI5Ggt2Rmnub34lV+7Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=P9w2zSmZ9IJoEj4AIwo2RPHAeYBMoA+r0zDwAYRdfmybOKyCFZK5zJ4Q8Qkc8GEYX0xJBwesoLMzWW/+wo6gCBPiY0yR9rkqFfoZ8K6qXrePGnz+GrEZbHmiAApAk8X8c4taMKvwQF1wEb80cjKUb8pl6Fw8ggdK/zIuvjAwljA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=sXJoYi4h; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="sXJoYi4h" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 094781F00A3D; Thu, 30 Jul 2026 15:26:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1785425174; bh=SRx4w/vxhA0jE1iQwQNq02gLIWgELh10GGdWrIPOLmY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=sXJoYi4hMl/pMMnd3NHecP+l+SyIrAvOJWpx/d3BHo8JNY+X3RKyOXMwe/DX0uhXJ G30c3PrYEQJQCwfPYmPYR9Ph34QI5sl+2eONc5bU+q2Oidwd0St3q9aWkVGfT0kTYS ZKTrPta2rbwE9WMTj9Z9um//ArHnSyyLoyjeKh2g= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Shuicheng Lin , Mathew Alwin , Michal Mrozek , Matthew Brost , Matthew Auld , Jia Yao , Sasha Levin Subject: [PATCH 6.18 596/675] drm/xe/uapi: Reject coh_none PAT index for CPU_ADDR_MIRROR Date: Thu, 30 Jul 2026 16:15:26 +0200 Message-ID: <20260730141457.787102087@linuxfoundation.org> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260730141445.110192266@linuxfoundation.org> References: <20260730141445.110192266@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jia Yao commit 4d58d7535e826a3175527b6174502f0db319d7f6 upstream. Add validation in xe_vm_bind_ioctl() to reject PAT indices with XE_COH_NONE coherency mode when used with DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR. CPU address mirror mappings use system memory that is CPU cached, which makes them incompatible with COH_NONE PAT indices. Allowing COH_NONE with CPU cached buffers is a security risk, as the GPU may bypass CPU caches and read stale sensitive data from DRAM. Although CPU_ADDR_MIRROR does not create an immediate mapping, the backing system memory is still CPU cached. Apply the same PAT coherency restrictions as DRM_XE_VM_BIND_OP_MAP_USERPTR. v2: - Correct fix tag v6: - No change v7: - Correct fix tag v8: - Rebase v9: - Limit the restrictions to iGPU v10: - Just add the iGPU logic but keep dGPU logic Fixes: b43e864af0d4 ("drm/xe/uapi: Add DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR") Cc: # v6.15+ Cc: Shuicheng Lin Cc: Mathew Alwin Cc: Michal Mrozek Cc: Matthew Brost Cc: Matthew Auld Signed-off-by: Jia Yao Reviewed-by: Matthew Auld Acked-by: Michal Mrozek Signed-off-by: Matthew Auld Link: https://patch.msgid.link/20260417055917.2027459-3-jia.yao@intel.com Signed-off-by: Sasha Levin --- drivers/gpu/drm/xe/xe_vm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c index b00da90e399135..ed0c8acd0fe27c 100644 --- a/drivers/gpu/drm/xe/xe_vm.c +++ b/drivers/gpu/drm/xe/xe_vm.c @@ -3393,6 +3393,8 @@ static int vm_bind_ioctl_check_args(struct xe_device *xe, struct xe_vm *vm, op == DRM_XE_VM_BIND_OP_MAP_USERPTR) || XE_IOCTL_DBG(xe, coh_mode == XE_COH_NONE && op == DRM_XE_VM_BIND_OP_MAP_USERPTR) || + XE_IOCTL_DBG(xe, !IS_DGFX(xe) && coh_mode == XE_COH_NONE && + is_cpu_addr_mirror) || XE_IOCTL_DBG(xe, op == DRM_XE_VM_BIND_OP_MAP_USERPTR && !IS_ENABLED(CONFIG_DRM_GPUSVM)) || XE_IOCTL_DBG(xe, obj && -- 2.53.0