summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2025-07-23 10:16:03 +0000
committerFelix Fietkau2025-07-23 10:19:14 +0000
commit3bdd6d492ee24bb46c8578ef939e41f3c998dda9 (patch)
tree4fb8f4c06d7e43901af6ebf415dc9092beacfb13
parent39972c47eb9e367ca8e8611b1d1de4669df2ff92 (diff)
downloadopenwrt-3bdd6d492ee24bb46c8578ef939e41f3c998dda9.tar.gz
ucode: add padding to uc_resource_ext_t
Fixes misaligned allocations for ext resources Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 6c22e8ef538926cec829dcb98f04c0347e621b7f)
-rw-r--r--package/utils/ucode/patches/100-ucode-add-padding-to-uc_resource_ext_t.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/package/utils/ucode/patches/100-ucode-add-padding-to-uc_resource_ext_t.patch b/package/utils/ucode/patches/100-ucode-add-padding-to-uc_resource_ext_t.patch
new file mode 100644
index 0000000000..f8a8cf29cc
--- /dev/null
+++ b/package/utils/ucode/patches/100-ucode-add-padding-to-uc_resource_ext_t.patch
@@ -0,0 +1,21 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Mon, 21 Jul 2025 21:07:17 +0200
+Subject: [PATCH] ucode: add padding to uc_resource_ext_t
+
+This ensures that user data structures tied to the ext resource are aligned
+to 64 bit, as usually guaranteed by the memory allocator.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/include/ucode/types.h
++++ b/include/ucode/types.h
+@@ -213,6 +213,8 @@ typedef struct {
+ uint32_t persistent:1;
+ uint32_t uvcount:8;
+ uint32_t datasize:20;
++
++ uint32_t _pad;
+ } uc_resource_ext_t;
+
+ uc_declare_vector(uc_resource_types_t, uc_resource_type_t *);