-From 3350c88dfd872d04adab010f745366950d75e48c Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 31 May 2025 17:08:22 +0200
-Subject: apparmor: Fix unaligned memory accesses in KUnit test
-
-From: Helge Deller <deller@gmx.de>
-
-[ Upstream commit c68804199dd9d63868497a27b5da3c3cd15356db ]
-
-The testcase triggers some unnecessary unaligned memory accesses on the
-parisc architecture:
- Kernel: unaligned access to 0x12f28e27 in policy_unpack_test_init+0x180/0x374 (iir 0x0cdc1280)
- Kernel: unaligned access to 0x12f28e67 in policy_unpack_test_init+0x270/0x374 (iir 0x64dc00ce)
-
-Use the existing helper functions put_unaligned_le32() and
-put_unaligned_le16() to avoid such warnings on architectures which
-prefer aligned memory accesses.
-
-Signed-off-by: Helge Deller <deller@gmx.de>
-Fixes: 98c0cc48e27e ("apparmor: fix policy_unpack_test on big endian systems")
-Signed-off-by: John Johansen <john.johansen@canonical.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- security/apparmor/policy_unpack_test.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/security/apparmor/policy_unpack_test.c b/security/apparmor/policy_unpack_test.c
-index 128baa08a989..50fdc390ad2d 100644
---- a/security/apparmor/policy_unpack_test.c
-+++ b/security/apparmor/policy_unpack_test.c
-@@ -8,6 +8,8 @@
- #include "include/policy.h"
- #include "include/policy_unpack.h"
-
-+#include <linux/unaligned.h>
-+
- #define TEST_STRING_NAME "TEST_STRING"
- #define TEST_STRING_DATA "testing"
- #define TEST_STRING_BUF_OFFSET \
-@@ -78,7 +80,7 @@ struct aa_ext *build_aa_ext_struct(struct policy_unpack_fixture *puf,
- *(buf + 1) = strlen(TEST_U32_NAME) + 1;
- strcpy(buf + 3, TEST_U32_NAME);
- *(buf + 3 + strlen(TEST_U32_NAME) + 1) = AA_U32;
-- *((__le32 *)(buf + 3 + strlen(TEST_U32_NAME) + 2)) = cpu_to_le32(TEST_U32_DATA);
-+ put_unaligned_le32(TEST_U32_DATA, buf + 3 + strlen(TEST_U32_NAME) + 2);
-
- buf = e->start + TEST_NAMED_U64_BUF_OFFSET;
- *buf = AA_NAME;
-@@ -101,7 +103,7 @@ struct aa_ext *build_aa_ext_struct(struct policy_unpack_fixture *puf,
- *(buf + 1) = strlen(TEST_ARRAY_NAME) + 1;
- strcpy(buf + 3, TEST_ARRAY_NAME);
- *(buf + 3 + strlen(TEST_ARRAY_NAME) + 1) = AA_ARRAY;
-- *((__le16 *)(buf + 3 + strlen(TEST_ARRAY_NAME) + 2)) = cpu_to_le16(TEST_ARRAY_SIZE);
-+ put_unaligned_le16(TEST_ARRAY_SIZE, buf + 3 + strlen(TEST_ARRAY_NAME) + 2);
-
- return e;
- }
---
-2.39.5
-