diff options
author | Maciej Żenczykowski <maze@google.com> | 2023-05-04 11:16:26 +0000 |
---|---|---|
committer | Maciej Żenczykowski <maze@google.com> | 2023-05-23 01:14:26 +0000 |
commit | aca7a3605df5d171f69c4bbe8ef5642ae3abf9fb (patch) | |
tree | 0adeb81b3d01fb33badc5301056cfd06e992697a | |
parent | fd7faec0bb5c1c047ffaa2b5c3396bef5acf63b0 (diff) | |
download | netd-aca7a3605df5d171f69c4bbe8ef5642ae3abf9fb.tar.gz |
netd_integration_test: add a test for 64-bit kernel CONFIG_BPF_JIT_ALWAYS_ON
See also:
https://googleplex-android-review.git.corp.google.com/c/platform/test/vts-testcase/kernel/+/22930654
isa: Add a test to ensure that a device is using a 64-bit kernel
Devices launching with Android 14 and later versions of Android must
use a 64-bit kernel, so add a test to enforce this.
Test: TreeHugger, atest netd_integration_test:KernelTest
Signed-off-by: Maciej Żenczykowski <maze@google.com>
(cherry picked from https://android-review.googlesource.com/q/commit:099e1961906d1b3994b3a0b8c4b679601c9c33b6)
Merged-In: Iafcc9f88f0c761a288e3307792ec5c625edc4ba0
Change-Id: Iafcc9f88f0c761a288e3307792ec5c625edc4ba0
Bug: 283523051
-rw-r--r-- | tests/kernel_test.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/kernel_test.cpp b/tests/kernel_test.cpp index b9e1875e..517b165c 100644 --- a/tests/kernel_test.cpp +++ b/tests/kernel_test.cpp @@ -21,6 +21,8 @@ #include <fstream> #include <string> +#include "bpf/KernelUtils.h" + namespace android { namespace net { @@ -72,5 +74,22 @@ TEST(KernelTest, TestRateLimitingSupport) { ASSERT_TRUE(configVerifier.hasOption("CONFIG_BPF_JIT")); } +TEST(KernelTest, TestBpfJitAlwaysOn) { + // 32-bit arm & x86 kernels aren't capable of JIT-ing all of our BPF code, + if (bpf::isKernel32Bit()) GTEST_SKIP() << "Exempt on 32-bit kernel."; + KernelConfigVerifier configVerifier; + ASSERT_TRUE(configVerifier.hasOption("CONFIG_BPF_JIT_ALWAYS_ON")); +} + +/* Android 14/U should only launch on 64-bit kernels + * T launches on 5.10/5.15 + * U launches on 5.15/6.1 + * So >=5.16 implies isKernel64Bit() + */ +TEST(KernelTest, TestKernel64Bit) { + if (!bpf::isAtLeastKernelVersion(5, 16, 0)) GTEST_SKIP() << "Exempt on < 5.16 kernel."; + ASSERT_TRUE(bpf::isKernel64Bit()); +} + } // namespace net } // namespace android |