Re: [PATCH] apparmor: fix policy_unpack_test on big endian systems
From: Kees Cook
Date: Thu Aug 08 2024 - 14:05:05 EST
On Thu, Aug 08, 2024 at 08:59:31AM -0700, Guenter Roeck wrote:
> policy_unpack_test fails on big endian systems because data byte order
> is expected to be little endian but is generated in host byte order.
> This results in test failures such as:
>
> # policy_unpack_test_unpack_array_with_null_name: EXPECTATION FAILED at security/apparmor/policy_unpack_test.c:150
> Expected array_size == (u16)16, but
> array_size == 4096 (0x1000)
> (u16)16 == 16 (0x10)
> # policy_unpack_test_unpack_array_with_null_name: pass:0 fail:1 skip:0 total:1
> not ok 3 policy_unpack_test_unpack_array_with_null_name
> # policy_unpack_test_unpack_array_with_name: EXPECTATION FAILED at security/apparmor/policy_unpack_test.c:164
> Expected array_size == (u16)16, but
> array_size == 4096 (0x1000)
> (u16)16 == 16 (0x10)
> # policy_unpack_test_unpack_array_with_name: pass:0 fail:1 skip:0 total:1
>
> Add the missing endianness conversions when generating test data.
>
> Fixes: 4d944bcd4e73 ("apparmor: add AppArmor KUnit tests for policy unpack")
> Cc: Brendan Higgins <brendanhiggins@xxxxxxxxxx>
> Cc: Kees Cook <keescook@xxxxxxxxxxxx>
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Reviewed-by: Kees Cook <kees@xxxxxxxxxx>
--
Kees Cook