[openwrt/openwrt] rpcd: backport ucode fix

LEDE Commits lede-commits at lists.infradead.org
Sat Aug 9 07:02:43 PDT 2025


nbd pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/b2116dbce4976ee9596d90964a4f145440b1c51e

commit b2116dbce4976ee9596d90964a4f145440b1c51e
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Sat Aug 9 16:01:33 2025 +0200

    rpcd: backport ucode fix
    
    ucode: adjust for new ext resource type
    ucv_resource_dataptr always returns null for resources with embedded data.
    
    Fixes: https://github.com/openwrt/rpcd/issues/17
    Fixes: https://github.com/openwrt/luci/issues/7878
    Fixes: https://github.com/openwrt/openwrt/issues/19726
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 .../100-ucode-adjust-for-new-ext-resource-type.patch | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/package/system/rpcd/patches/100-ucode-adjust-for-new-ext-resource-type.patch b/package/system/rpcd/patches/100-ucode-adjust-for-new-ext-resource-type.patch
new file mode 100644
index 0000000000..0b0acd4458
--- /dev/null
+++ b/package/system/rpcd/patches/100-ucode-adjust-for-new-ext-resource-type.patch
@@ -0,0 +1,20 @@
+From: Felix Fietkau <nbd at nbd.name>
+Date: Sat, 9 Aug 2025 15:55:11 +0200
+Subject: [PATCH] ucode: adjust for new ext resource type
+
+ucv_resource_dataptr always returns null for resources with embedded data.
+
+Signed-off-by: Felix Fietkau <nbd at nbd.name>
+---
+
+--- a/ucode.c
++++ b/ucode.c
+@@ -449,7 +449,7 @@ rpc_ucode_script_call(struct ubus_contex
+ 		res = uc_vm_stack_pop(&script->vm);
+ 
+ 		/* The handler function invoked a nested aync ubus request and returned it */
+-		if (ucv_resource_dataptr(res, "ubus.deferred")) {
++		if (ucv_resource_data(res, "ubus.deferred")) {
+ 			/* Install guard timer in case the reply callback is never called */
+ 			callctx->timeout.cb = rpc_ucode_request_timeout;
+ 			uloop_timeout_set(&callctx->timeout, request_timeout);




More information about the lede-commits mailing list