12345678910111213141516171819202122232425262728293031323334353637383940 |
- From 37095a204127b60b5e00c4c5d435d6e48a6a1c51 Mon Sep 17 00:00:00 2001
- From: Richard Weinberger <richard@nod.at>
- Date: Fri, 2 Aug 2024 12:08:43 +0200
- Subject: [PATCH 7/8] x86: Fix ptrdiff_t for x86_64
- sbrk() assumes ptrdiff_t is large enough to enlarge/shrink the heap
- by LONG_MIN/LONG_MAX.
- So, use the long type, also to match the rest of the Linux ecosystem.
- Signed-off-by: Richard Weinberger <richard@nod.at>
- Reviewed-by: Simon Glass <sjg@chromium.org>
- CVE: CVE-2024-57258
- Upstream-Status: Backport [https://source.denx.de/u-boot/u-boot/-/commit/c17b2a05dd50a3ba437e6373093a0d6a359cdee0]
- Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
- ---
- arch/x86/include/asm/posix_types.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
- diff --git a/arch/x86/include/asm/posix_types.h b/arch/x86/include/asm/posix_types.h
- index dbcea7f4..e1ed9bca 100644
- --- a/arch/x86/include/asm/posix_types.h
- +++ b/arch/x86/include/asm/posix_types.h
- @@ -20,11 +20,12 @@ typedef unsigned short __kernel_gid_t;
- #if defined(__x86_64__)
- typedef unsigned long __kernel_size_t;
- typedef long __kernel_ssize_t;
- +typedef long __kernel_ptrdiff_t;
- #else
- typedef unsigned int __kernel_size_t;
- typedef int __kernel_ssize_t;
- -#endif
- typedef int __kernel_ptrdiff_t;
- +#endif
- typedef long __kernel_time_t;
- typedef long __kernel_suseconds_t;
- typedef long __kernel_clock_t;
- --
- 2.34.1
|