summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-06-21 16:11:52 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2024-07-12 14:02:14 -0400
commit53d77225638bb3cb77fbc36a9e2383d568f228ad (patch)
treedb66b1dedfc56d8f6b642625b80484f30a8c9e6f
parent8b06995115a8ade5e0b154311b771279ff97317f (diff)
raid/cpu: Use memcpy() instead of type punning
The vendor may not be suitably aligned for uint32_t *. Signed-off-by: Tavian Barnes <tavianator@tavianator.com>
-rw-r--r--raid/cpu.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/raid/cpu.h b/raid/cpu.h
index ed909bb7..164ac8ce 100644
--- a/raid/cpu.h
+++ b/raid/cpu.h
@@ -57,9 +57,9 @@ static inline void raid_cpu_info(char *vendor, unsigned *family, unsigned *model
raid_cpuid(0, 0, reg);
- ((uint32_t*)vendor)[0] = reg[1];
- ((uint32_t*)vendor)[1] = reg[3];
- ((uint32_t*)vendor)[2] = reg[2];
+ memcpy(vendor, &reg[1], 4);
+ memcpy(vendor + 4, &reg[3], 4);
+ memcpy(vendor + 8, &reg[2], 4);
vendor[12] = 0;
raid_cpuid(1, 0, reg);