Skip to contentSkip to conversation

FAILED: patch "[PATCH] x86/sgx: Add overflow check in sgx_validate_offset_length()" failed to apply to 5.15-stable tree

PATCH [email protected] 1 participant 1 message Nov 21, 2022

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Possible dependencies:

f0861f49bd94 ("x86/sgx: Add overflow check in sgx_validate_offset_length()") dda03e2c331b ("x86/sgx: Create utility to validate user provided offset and length")

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From f0861f49bd946ff94fce4f82509c45e167f63690 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Borys=20Pop=C5=82awski?= <[email protected]>
Date: Wed, 5 Oct 2022 00:59:03 +0200
Subject: [PATCH] x86/sgx: Add overflow check in sgx_validate_offset_length()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

sgx_validate_offset_length() function verifies "offset" and "length" arguments provided by userspace, but was missing an overflow check on their addition. Add it.

arch/x86/kernel/cpu/sgx/ioctl.c +3 -0
index ebe79d60619f..da8b8ea6b063 100644
@@ -356,6 +356,9 @@ static int sgx_validate_offset_length(struct sgx_encl *encl,
 	if (!length || !IS_ALIGNED(length, PAGE_SIZE))
 		return -EINVAL;
 
+	if (offset + length < offset)
+		return -EINVAL;
+
 	if (offset + length - PAGE_SIZE >= encl->size)
 		return -EINVAL;