summaryrefslogtreecommitdiffstats
path: root/debian/patches/2541-fix-stack-overflow-in-pinbox-allocator.patch
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 13:24:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 13:28:53 +0000
commita2f41c7df0986cc7a79a5b6ffcd70ffb78e6e105 (patch)
treec26ad120ea2a32b79ce49ec5535f9888724e1b7f /debian/patches/2541-fix-stack-overflow-in-pinbox-allocator.patch
parentMerging upstream version 1:10.11.8. (diff)
downloadmariadb-a2f41c7df0986cc7a79a5b6ffcd70ffb78e6e105.tar.xz
mariadb-a2f41c7df0986cc7a79a5b6ffcd70ffb78e6e105.zip
Merging debian version 1:10.11.8-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches/2541-fix-stack-overflow-in-pinbox-allocator.patch')
-rw-r--r--debian/patches/2541-fix-stack-overflow-in-pinbox-allocator.patch8
1 files changed, 3 insertions, 5 deletions
diff --git a/debian/patches/2541-fix-stack-overflow-in-pinbox-allocator.patch b/debian/patches/2541-fix-stack-overflow-in-pinbox-allocator.patch
index bbc1af6b..b6dd97e3 100644
--- a/debian/patches/2541-fix-stack-overflow-in-pinbox-allocator.patch
+++ b/debian/patches/2541-fix-stack-overflow-in-pinbox-allocator.patch
@@ -1,6 +1,4 @@
-Forwarded: https://github.com/MariaDB/server/pull/2541
-Origin: https://patch-diff.githubusercontent.com/raw/MariaDB/server/pull/2541.patch
-Bug: https://jira.mariadb.org/browse/MDEV-31151
+From fd83a9431cd16e6c61b8cdbb89810c554a315338 Mon Sep 17 00:00:00 2001
From: Hugo Wen <wenhug@amazon.com>
Date: Sat, 11 Mar 2023 00:27:42 +0000
Subject: [PATCH] Fix a stack overflow in pinbox allocator
@@ -126,7 +124,7 @@ Services, Inc.
{
for (i= 0; i < LF_PINBOX_PINS; i++)
{
- void *p= el->pin[i];
+ void *p= my_atomic_loadptr((void **)&el->pin[i]);
if (p)
- *hv->granary++= p;
+ {
@@ -172,7 +170,7 @@ Services, Inc.
- LF_PINS *el_end= el+LF_DYNARRAY_LEVEL_LENGTH;
- for (; el < el_end; el++)
- for (i= 0; i < LF_PINBOX_PINS; i++)
-- if (el->pin[i] == addr)
+- if (my_atomic_loadptr((void **)&el->pin[i]) == addr)
- return 1;
- return 0;
-}