From: Jo Van Bulck <jo.vanbulck@cs.kuleuven.be>
To: jarkko@kernel.org, kai.huang@intel.com,
linux-sgx@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: dave.hansen@linux.intel.com, Jo Van Bulck <jo.vanbulck@cs.kuleuven.be>
Subject: [PATCH v7 02/13] selftests/sgx: Fix uninitialized pointer dereferences in encl_get_entry
Date: Thu, 5 Oct 2023 17:38:43 +0200 [thread overview]
Message-ID: <20231005153854.25566-3-jo.vanbulck@cs.kuleuven.be> (raw)
In-Reply-To: <20231005153854.25566-1-jo.vanbulck@cs.kuleuven.be>
Ensure sym_tab and sym_names are zero-initialized and add an early-out
condition in the unlikely (erroneous) case that the enclave ELF file would
not contain a symbol table.
This addresses -Werror=maybe-uninitialized compiler warnings for gcc -O2.
Fixes: 33c5aac3bf32 ("selftests/sgx: Test complete changing of page type flow")
Signed-off-by: Jo Van Bulck <jo.vanbulck@cs.kuleuven.be>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
---
tools/testing/selftests/sgx/load.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/sgx/load.c b/tools/testing/selftests/sgx/load.c
index 94bdeac1cf04..c9f658e44de6 100644
--- a/tools/testing/selftests/sgx/load.c
+++ b/tools/testing/selftests/sgx/load.c
@@ -136,11 +136,11 @@ static bool encl_ioc_add_pages(struct encl *encl, struct encl_segment *seg)
*/
uint64_t encl_get_entry(struct encl *encl, const char *symbol)
{
+ Elf64_Sym *symtab = NULL;
+ char *sym_names = NULL;
Elf64_Shdr *sections;
- Elf64_Sym *symtab;
Elf64_Ehdr *ehdr;
- char *sym_names;
- int num_sym;
+ int num_sym = 0;
int i;
ehdr = encl->bin;
@@ -161,6 +161,9 @@ uint64_t encl_get_entry(struct encl *encl, const char *symbol)
}
}
+ if (!symtab || !sym_names)
+ return 0;
+
for (i = 0; i < num_sym; i++) {
Elf64_Sym *sym = &symtab[i];
--
2.25.1
next prev parent reply other threads:[~2023-10-05 16:16 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-05 15:38 [PATCH v7 00/13] selftests/sgx: Fix compilation errors Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 01/13] selftests/sgx: Fix uninitialized pointer dereference in error path Jo Van Bulck
2023-10-05 15:38 ` Jo Van Bulck [this message]
2023-10-05 15:38 ` [PATCH v7 03/13] selftests/sgx: Include memory clobber for inline asm in test enclave Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 04/13] selftests/sgx: Separate linker options Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 05/13] selftests/sgx: Specify freestanding environment for enclave compilation Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 06/13] selftests/sgx: Remove redundant enclave base address save/restore Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 07/13] selftests/sgx: Produce static-pie executable for test enclave Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 08/13] selftests/sgx: Handle relocations in " Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 09/13] selftests/sgx: Fix linker script asserts Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 10/13] selftests/sgx: Ensure test enclave buffer is entirely preserved Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 11/13] selftests/sgx: Ensure expected location of test enclave buffer Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 12/13] selftests/sgx: Discard unsupported ELF sections Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 13/13] selftests/sgx: Remove incomplete ABI sanitization code in test enclave Jo Van Bulck
2023-10-05 21:25 ` [PATCH v7 00/13] selftests/sgx: Fix compilation errors Huang, Kai
2023-10-06 9:51 ` Jo Van Bulck
2023-10-10 9:44 ` Jarkko Sakkinen
2023-10-10 12:11 ` Jarkko Sakkinen
2023-10-13 11:58 ` Jo Van Bulck
2023-10-13 11:45 ` Jo Van Bulck
2023-10-23 21:32 ` Jarkko Sakkinen
2023-11-08 20:31 ` Jo Van Bulck
2023-11-08 20:46 ` Dave Hansen
2023-11-09 12:47 ` Jo Van Bulck
2023-11-15 21:27 ` Jarkko Sakkinen
2023-11-15 21:26 ` Jarkko Sakkinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231005153854.25566-3-jo.vanbulck@cs.kuleuven.be \
--to=jo.vanbulck@cs.kuleuven.be \
--cc=dave.hansen@linux.intel.com \
--cc=jarkko@kernel.org \
--cc=kai.huang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sgx@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).