From 367e8927b9df348edfb9a761895c36f9c6454fba Mon Sep 17 00:00:00 2001 From: Armin Kuster Date: Thu, 26 May 2022 12:32:24 -0700 Subject: mariadb: update to 10.7.4 LTS version, bugfix only update. Drop clang-64bit-atomics.patch as the patched code was removed in this update. https://github.com/MariaDB/server/commit/cf483a7766d0730872232fdedd727d30a493fe29 Includes these CVES: CVE-2022-27458 CVE-2022-27457 CVE-2022-27456 CVE-2022-27455 CVE-2022-27452 CVE-2022-27451 CVE-2022-27449 CVE-2022-27448 CVE-2022-27447 CVE-2022-27446 CVE-2022-27445 CVE-2022-27444 CVE-2022-27387 CVE-2022-27386 CVE-2022-27384 CVE-2022-27383 CVE-2022-27382 CVE-2022-27381 CVE-2022-27380 CVE-2022-27379 CVE-2022-27378 CVE-2022-27377 CVE-2022-27376 Signed-off-by: Armin Kuster Signed-off-by: Khem Raj (cherry picked from commit c1720935bd80fa6023f2fcec7c252c0fea183029) Signed-off-by: Armin Kuster --- meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb | 20 --- meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb | 20 +++ meta-oe/recipes-dbs/mysql/mariadb.inc | 3 +- .../mysql/mariadb/clang-64bit-atomics.patch | 178 --------------------- meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb | 28 ---- meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb | 28 ++++ 6 files changed, 49 insertions(+), 228 deletions(-) delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb deleted file mode 100644 index e38726d3f9..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -require mariadb.inc -inherit native - -PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native" - -RDEPENDS:${PN} = "" -PACKAGES = "" -EXTRA_OEMAKE = "" - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${bindir} - install -m 0755 sql/gen_lex_hash ${D}${bindir}/ - install -m 0755 sql/gen_lex_token ${D}${bindir}/ - install -m 0755 extra/comp_err ${D}${bindir}/ - install -m 0755 scripts/comp_sql ${D}${bindir}/ -} - diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb new file mode 100644 index 0000000000..e38726d3f9 --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb @@ -0,0 +1,20 @@ +require mariadb.inc +inherit native + +PROVIDES += "mysql5-native" +DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native" + +RDEPENDS:${PN} = "" +PACKAGES = "" +EXTRA_OEMAKE = "" + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${bindir} + install -m 0755 sql/gen_lex_hash ${D}${bindir}/ + install -m 0755 sql/gen_lex_token ${D}${bindir}/ + install -m 0755 extra/comp_err ${D}${bindir}/ + install -m 0755 scripts/comp_sql ${D}${bindir}/ +} + diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc index 855f124834..3f246dc0a5 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -20,11 +20,10 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://mm_malloc.patch \ file://sys_futex.patch \ file://mariadb-openssl3.patch \ - file://clang-64bit-atomics.patch \ " SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch" -SRC_URI[sha256sum] = "da286919ffc9c913282202349709b6ba4ebcd342815e8dae0aa6b6bd8f515cd4" +SRC_URI[sha256sum] = "73dd9c9d325520f20ca5e0ef16f94b7be1146bed7e4a78e735c20daebf3a4173" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch b/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch deleted file mode 100644 index cdc2947b7b..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch +++ /dev/null @@ -1,178 +0,0 @@ -Prevent Clang from emitting atomic libcalls - -Clang expects 8-byte alignment for some 64-bit atomic operations -in some 32-bit targets. Native instruction lock cmpxchg8b (for x86) -should only require 4-byte alignment. - -This patch tries to add 8-byte alignents to data needing atomic ops -which helps clang to not generate the libatomic calls but emit -builtins directly. - -Upstream-Status: Submitted[https://jira.mariadb.org/browse/MDEV-28162] -Signed-off-by: Khem Raj - ---- a/include/my_atomic.h -+++ b/include/my_atomic.h -@@ -115,6 +115,16 @@ - #include "atomic/gcc_builtins.h" - #endif - -+#include -+ -+# ifdef __GNUC__ -+typedef __attribute__((__aligned__(8))) int64 ATOMIC_I64; -+typedef __attribute__((__aligned__(8))) uint64 ATOMIC_U64; -+# else -+typedef int64 ATOMIC_I64; -+typedef uint64 ATOMIC_U64; -+# endif -+ - #if SIZEOF_LONG == 4 - #define my_atomic_addlong(A,B) my_atomic_add32((int32*) (A), (B)) - #define my_atomic_loadlong(A) my_atomic_load32((int32*) (A)) -@@ -123,12 +133,12 @@ - #define my_atomic_faslong(A,B) my_atomic_fas32((int32*) (A), (B)) - #define my_atomic_caslong(A,B,C) my_atomic_cas32((int32*) (A), (int32*) (B), (C)) - #else --#define my_atomic_addlong(A,B) my_atomic_add64((int64*) (A), (B)) --#define my_atomic_loadlong(A) my_atomic_load64((int64*) (A)) --#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((int64*) (A), (O)) --#define my_atomic_storelong(A,B) my_atomic_store64((int64*) (A), (B)) --#define my_atomic_faslong(A,B) my_atomic_fas64((int64*) (A), (B)) --#define my_atomic_caslong(A,B,C) my_atomic_cas64((int64*) (A), (int64*) (B), (C)) -+#define my_atomic_addlong(A,B) my_atomic_add64((ATOMIC_I64*) (A), (B)) -+#define my_atomic_loadlong(A) my_atomic_load64((ATOMIC_I64*) (A)) -+#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((ATOMIC_I64*) (A), (O)) -+#define my_atomic_storelong(A,B) my_atomic_store64((ATOMIC_I64*) (A), (B)) -+#define my_atomic_faslong(A,B) my_atomic_fas64((ATOMIC_I64*) (A), (B)) -+#define my_atomic_caslong(A,B,C) my_atomic_cas64((ATOMIC_I64*) (A), (ATOMIC_I64*) (B), (C)) - #endif - - #ifndef MY_MEMORY_ORDER_SEQ_CST ---- a/storage/perfschema/pfs_atomic.h -+++ b/storage/perfschema/pfs_atomic.h -@@ -41,7 +41,7 @@ public: - } - - /** Atomic load. */ -- static inline int64 load_64(int64 *ptr) -+ static inline int64 load_64(ATOMIC_I64 *ptr) - { - return my_atomic_load64(ptr); - } -@@ -53,9 +53,9 @@ public: - } - - /** Atomic load. */ -- static inline uint64 load_u64(uint64 *ptr) -+ static inline uint64 load_u64(ATOMIC_U64 *ptr) - { -- return (uint64) my_atomic_load64((int64*) ptr); -+ return (uint64) my_atomic_load64((ATOMIC_I64*) ptr); - } - - /** Atomic store. */ -@@ -65,7 +65,7 @@ public: - } - - /** Atomic store. */ -- static inline void store_64(int64 *ptr, int64 value) -+ static inline void store_64(ATOMIC_I64 *ptr, int64 value) - { - my_atomic_store64(ptr, value); - } -@@ -77,9 +77,9 @@ public: - } - - /** Atomic store. */ -- static inline void store_u64(uint64 *ptr, uint64 value) -+ static inline void store_u64(ATOMIC_U64 *ptr, uint64 value) - { -- my_atomic_store64((int64*) ptr, (int64) value); -+ my_atomic_store64((ATOMIC_I64*) ptr, (int64) value); - } - - /** Atomic add. */ -@@ -89,7 +89,7 @@ public: - } - - /** Atomic add. */ -- static inline int64 add_64(int64 *ptr, int64 value) -+ static inline int64 add_64(ATOMIC_I64 *ptr, int64 value) - { - return my_atomic_add64(ptr, value); - } -@@ -101,9 +101,9 @@ public: - } - - /** Atomic add. */ -- static inline uint64 add_u64(uint64 *ptr, uint64 value) -+ static inline uint64 add_u64(ATOMIC_U64 *ptr, uint64 value) - { -- return (uint64) my_atomic_add64((int64*) ptr, (int64) value); -+ return (uint64) my_atomic_add64((ATOMIC_I64*) ptr, (int64) value); - } - - /** Atomic compare and swap. */ -@@ -114,7 +114,7 @@ public: - } - - /** Atomic compare and swap. */ -- static inline bool cas_64(int64 *ptr, int64 *old_value, -+ static inline bool cas_64(ATOMIC_I64 *ptr, ATOMIC_I64 *old_value, - int64 new_value) - { - return my_atomic_cas64(ptr, old_value, new_value); -@@ -129,10 +129,10 @@ public: - } - - /** Atomic compare and swap. */ -- static inline bool cas_u64(uint64 *ptr, uint64 *old_value, -+ static inline bool cas_u64(ATOMIC_U64 *ptr, ATOMIC_U64 *old_value, - uint64 new_value) - { -- return my_atomic_cas64((int64*) ptr, (int64*) old_value, -+ return my_atomic_cas64((ATOMIC_I64*) ptr, (ATOMIC_I64*) old_value, - (uint64) new_value); - } - }; ---- a/sql/sql_class.h -+++ b/sql/sql_class.h -@@ -1049,7 +1049,7 @@ static inline void update_global_memory_ - (longlong) global_status_var.global_memory_used, - size)); - // workaround for gcc 4.2.4-1ubuntu4 -fPIE (from DEB_BUILD_HARDENING=1) -- int64 volatile * volatile ptr= &global_status_var.global_memory_used; -+ ATOMIC_I64 volatile * volatile ptr= &global_status_var.global_memory_used; - my_atomic_add64_explicit(ptr, size, MY_MEMORY_ORDER_RELAXED); - } - ---- a/storage/innobase/include/srv0mon.h -+++ b/storage/innobase/include/srv0mon.h -@@ -49,7 +49,7 @@ enum monitor_running_status { - typedef enum monitor_running_status monitor_running_t; - - /** Monitor counter value type */ --typedef int64_t mon_type_t; -+typedef ATOMIC_I64 mon_type_t; - - /** Two monitor structures are defined in this file. One is - "monitor_value_t" which contains dynamic counter values for each -@@ -568,7 +568,7 @@ Use MONITOR_INC if appropriate mutex pro - if (enabled) { \ - ib_uint64_t value; \ - value = my_atomic_add64_explicit( \ -- (int64*) &MONITOR_VALUE(monitor), 1, \ -+ (ATOMIC_I64*) &MONITOR_VALUE(monitor), 1, \ - MY_MEMORY_ORDER_RELAXED) + 1; \ - /* Note: This is not 100% accurate because of the \ - inherent race, we ignore it due to performance. */ \ -@@ -585,7 +585,7 @@ Use MONITOR_DEC if appropriate mutex pro - if (enabled) { \ - ib_uint64_t value; \ - value = my_atomic_add64_explicit( \ -- (int64*) &MONITOR_VALUE(monitor), -1, \ -+ (ATOMIC_I64*) &MONITOR_VALUE(monitor), -1, \ - MY_MEMORY_ORDER_RELAXED) - 1; \ - /* Note: This is not 100% accurate because of the \ - inherent race, we ignore it due to performance. */ \ diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb deleted file mode 100644 index c800c4c56c..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb +++ /dev/null @@ -1,28 +0,0 @@ -require mariadb.inc - -inherit qemu - -DEPENDS += "qemu-native bison-native boost libpcre2 curl ncurses \ - zlib libaio libedit libevent libxml2 gnutls fmt lzo" - -PROVIDES += "mysql5 libmysqlclient" - -RPROVIDES:${PN} += "mysql5" -RREPLACES:${PN} += "mysql5" -RCONFLICTS:${PN} += "mysql5" - -RPROVIDES:${PN}-dbg += "mysql5-dbg" -RREPLACES:${PN}-dbg += "mysql5-dbg" -RCONFLICTS:${PN}-dbg += "mysql5-dbg" - -RPROVIDES:${PN}-leftovers += "mysql5-leftovers" -RREPLACES:${PN}-leftovers += "mysql5-leftovers" -RCONFLICTS:${PN}-leftovers += "mysql5-leftovers" - -RPROVIDES:${PN}-client += "mysql5-client" -RREPLACES:${PN}-client += "mysql5-client" -RCONFLICTS:${PN}-client += "mysql5-client" - -RPROVIDES:${PN}-server += "mysql5-server" -RREPLACES:${PN}-server += "mysql5-server" -RCONFLICTS:${PN}-server += "mysql5-server" diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb new file mode 100644 index 0000000000..c800c4c56c --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb @@ -0,0 +1,28 @@ +require mariadb.inc + +inherit qemu + +DEPENDS += "qemu-native bison-native boost libpcre2 curl ncurses \ + zlib libaio libedit libevent libxml2 gnutls fmt lzo" + +PROVIDES += "mysql5 libmysqlclient" + +RPROVIDES:${PN} += "mysql5" +RREPLACES:${PN} += "mysql5" +RCONFLICTS:${PN} += "mysql5" + +RPROVIDES:${PN}-dbg += "mysql5-dbg" +RREPLACES:${PN}-dbg += "mysql5-dbg" +RCONFLICTS:${PN}-dbg += "mysql5-dbg" + +RPROVIDES:${PN}-leftovers += "mysql5-leftovers" +RREPLACES:${PN}-leftovers += "mysql5-leftovers" +RCONFLICTS:${PN}-leftovers += "mysql5-leftovers" + +RPROVIDES:${PN}-client += "mysql5-client" +RREPLACES:${PN}-client += "mysql5-client" +RCONFLICTS:${PN}-client += "mysql5-client" + +RPROVIDES:${PN}-server += "mysql5-server" +RREPLACES:${PN}-server += "mysql5-server" +RCONFLICTS:${PN}-server += "mysql5-server" -- cgit 1.2.3-korg