forked from pool/mariadb
Accepting request 787646 from server:database
OBS-URL: https://build.opensuse.org/request/show/787646 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mariadb?expand=0&rev=94
This commit is contained in:
commit
185f3efc17
@ -0,0 +1,40 @@
|
||||
From 35c277851972267d4d020126ab8f893c4b17dd36 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Liska <mliska@suse.cz>
|
||||
Date: Sun, 8 Dec 2019 10:52:27 +0100
|
||||
Subject: [PATCH] MDEV-21248: Prevent optimizing out buf argument in
|
||||
check_stack_overrun.
|
||||
|
||||
When using LTO, one can see optimization of stack variables that
|
||||
are passed to check_stack_overrun as argument buf. That prevents
|
||||
proper stack overrun detection.
|
||||
---
|
||||
sql/sql_parse.cc | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
|
||||
index dc81e8a2b91..6f3c076709a 100644
|
||||
--- a/sql/sql_parse.cc
|
||||
+++ b/sql/sql_parse.cc
|
||||
@@ -7392,8 +7392,17 @@ long max_stack_used;
|
||||
corresponding exec. (Thus we only have to check in fix_fields.)
|
||||
- Passing to check_stack_overrun() prevents the compiler from removing it.
|
||||
*/
|
||||
-bool check_stack_overrun(THD *thd, long margin,
|
||||
- uchar *buf __attribute__((unused)))
|
||||
+
|
||||
+bool
|
||||
+#ifdef __GNUC__
|
||||
+/*
|
||||
+ Do not optimize the function in order to preserve a stack variable creation.
|
||||
+ Otherwise, the variable pointed as "buf" can be removed due to a missing
|
||||
+ usage.
|
||||
+ */
|
||||
+__attribute__((optimize("-O0")))
|
||||
+#endif
|
||||
+check_stack_overrun(THD *thd, long margin, uchar *buf __attribute__((unused)))
|
||||
{
|
||||
long stack_used;
|
||||
DBUG_ASSERT(thd == current_thd);
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 24 05:46:49 UTC 2020 - Martin Liška <mliska@suse.cz>
|
||||
|
||||
- Add mariadb-10.5-fix-prevent-optimizing-out-buf-argument-in-ch.patch
|
||||
in order to fix boo#1158405 (MDEV-21248).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 26 16:25:55 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
|
||||
|
||||
|
@ -84,6 +84,7 @@ Patch8: mariadb-10.2.4-fortify-and-O.patch
|
||||
Patch9: mariadb-10.2.19-link-and-enable-c++11-atomics.patch
|
||||
Patch10: mariadb-10.4.12-harden_setuid.patch
|
||||
Patch11: mariadb-10.4.12-fix-install-db.patch
|
||||
Patch12: mariadb-10.5-fix-prevent-optimizing-out-buf-argument-in-ch.patch
|
||||
# needed for bison SQL parser and wsrep API
|
||||
BuildRequires: bison
|
||||
BuildRequires: cmake
|
||||
@ -370,6 +371,7 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
|
||||
cp %{_sourcedir}/suse-test-run .
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user