summaryrefslogtreecommitdiffstats
path: root/fs/compat_binfmt_elf.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2022-02-24 04:32:10 +0100
committerKees Cook <keescook@chromium.org>2022-03-04 05:38:56 +0100
commit9e1a3ce0a952450a1163cc93ab1df6d4fa8c8155 (patch)
treecb6df50436b43afd7c5ea497c81521a26291df19 /fs/compat_binfmt_elf.c
parentELF: Properly redefine PT_GNU_* in terms of PT_LOOS (diff)
downloadlinux-9e1a3ce0a952450a1163cc93ab1df6d4fa8c8155.tar.xz
linux-9e1a3ce0a952450a1163cc93ab1df6d4fa8c8155.zip
binfmt_elf: Introduce KUnit test
Adds simple KUnit test for some binfmt_elf internals: specifically a regression test for the problem fixed by commit 8904d9cd90ee ("ELF: fix overflow in total mapping size calculation"). $ ./tools/testing/kunit/kunit.py run --arch x86_64 \ --kconfig_add CONFIG_IA32_EMULATION=y '*binfmt_elf' ... [19:41:08] ================== binfmt_elf (1 subtest) ================== [19:41:08] [PASSED] total_mapping_size_test [19:41:08] =================== [PASSED] binfmt_elf ==================== [19:41:08] ============== compat_binfmt_elf (1 subtest) =============== [19:41:08] [PASSED] total_mapping_size_test [19:41:08] ================ [PASSED] compat_binfmt_elf ================ [19:41:08] ============================================================ [19:41:08] Testing complete. Passed: 2, Failed: 0, Crashed: 0, Skipped: 0, Errors: 0 Cc: Eric Biederman <ebiederm@xmission.com> Cc: David Gow <davidgow@google.com> Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: "Magnus Groß" <magnus.gross@rwth-aachen.de> Cc: kunit-dev@googlegroups.com Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> --- v1: https://lore.kernel.org/lkml/20220224054332.1852813-1-keescook@chromium.org v2: - improve commit log - fix comment URL (Daniel) - drop redundant KUnit Kconfig help info (Daniel) - note in Kconfig help that COMPAT builds add a compat test (David)
Diffstat (limited to 'fs/compat_binfmt_elf.c')
-rw-r--r--fs/compat_binfmt_elf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/compat_binfmt_elf.c b/fs/compat_binfmt_elf.c
index 95e72d271b95..8f0af4f62631 100644
--- a/fs/compat_binfmt_elf.c
+++ b/fs/compat_binfmt_elf.c
@@ -135,6 +135,8 @@
#define elf_format compat_elf_format
#define init_elf_binfmt init_compat_elf_binfmt
#define exit_elf_binfmt exit_compat_elf_binfmt
+#define binfmt_elf_test_cases compat_binfmt_elf_test_cases
+#define binfmt_elf_test_suite compat_binfmt_elf_test_suite
/*
* We share all the actual code with the native (64-bit) version.