diff --git a/meta/recipes-support/libpsl/libpsl/0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch b/meta/recipes-support/libpsl/libpsl/0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch
new file mode 100644
index 0000000000..8aecf34e4a
--- /dev/null
+++ b/meta/recipes-support/libpsl/libpsl/0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch
@@ -0,0 +1,38 @@
+From 3e02f2cd038209e873c970709a9eeeead4d70afa Mon Sep 17 00:00:00 2001
+From: Tim Rühsen <tim.ruehsen@gmx.de>
+Date: Mon, 22 Jul 2026 09:00:00 +0200
+Subject: [PATCH] meson: also rename cdata to _cdata in docs/libpsl/meson.build
+
+The 0.23.0 release ships docs/libpsl/meson.build referencing a
+configuration data object named "cdata", but the top-level meson.build
+(and include/meson.build, which sets LIBPSL_VERSION on it) only defines
+"_cdata". Meson shares the interpreter scope across subdir(), so once the
+docs are enabled (get_option('docs'), which OE turns on via gtk-doc) the
+configure step fails with:
+
+  docs/libpsl/meson.build:7:20: ERROR: Unknown variable "cdata".
+
+Reference the existing "_cdata", which already carries LIBPSL_VERSION as
+needed by version.xml.in.
+
+Upstream-Status: Backport [https://github.com/rockdaboot/libpsl/commit/3e02f2cd038209e873c970709a9eeeead4d70afa]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ docs/libpsl/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/docs/libpsl/meson.build b/docs/libpsl/meson.build
+index 1111111..2222222 100644
+--- a/docs/libpsl/meson.build
++++ b/docs/libpsl/meson.build
+@@ -4,7 +4,7 @@ if get_option('docs')
+   configure_file(
+     input : 'version.xml.in',
+     output : 'version.xml',
+-    configuration : cdata)
++    configuration : _cdata)
+
+   docs = gnome.gtkdoc('libpsl',
+     main_sgml: 'libpsl-docs.sgml',
+--
+2.51.0
diff --git a/meta/recipes-support/libpsl/libpsl_0.23.0.bb b/meta/recipes-support/libpsl/libpsl_0.23.0.bb
index 6026adad9f..3b3c4aa32b 100644
--- a/meta/recipes-support/libpsl/libpsl_0.23.0.bb
+++ b/meta/recipes-support/libpsl/libpsl_0.23.0.bb
@@ -14,6 +14,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=49296c1806ef92c28297fb264163d81e \
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
            file://0001-Support-reproducible-builds.patch \
            file://0002-psl-make-dafsa-embed-only-the-basename-of-the-input-.patch \
+           file://0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch \
            "
 SRC_URI[sha256sum] = "f39b9631b3d369a21259ea4654f8875c0ec6995ce9551c0eb5d423e4c011f911"
 
