All of lore.kernel.org
 help / color / mirror / Atom feed
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


  parent reply	other threads:[~2023-10-05 16:18 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.