]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
ucode: add padding to uc_resource_ext_t
authorFelix Fietkau <nbd@nbd.name>
Wed, 23 Jul 2025 10:16:03 +0000 (12:16 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 23 Jul 2025 10:16:06 +0000 (12:16 +0200)
Fixes misaligned allocations for ext resources

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/utils/ucode/patches/100-ucode-add-padding-to-uc_resource_ext_t.patch [new file with mode: 0644]

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 (file)
index 0000000..f8a8cf2
--- /dev/null
@@ -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 *);