From b2116dbce4976ee9596d90964a4f145440b1c51e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 9 Aug 2025 16:01:33 +0200 Subject: [PATCH] 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 --- ...ode-adjust-for-new-ext-resource-type.patch | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 package/system/rpcd/patches/100-ucode-adjust-for-new-ext-resource-type.patch 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 +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 +--- + +--- 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); -- 2.30.2