From fd8dbe0d2cd23b8ad1e8b393edc85a1440fa293d Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Fri, 2 Sep 2022 10:43:39 +1000 Subject: MDEV-29443: prevent uring access to galera sst /notify scripts The resources like uring in MariaDB aren't intended for spawned processes so we restrict access using the io_uring_ring_dontfork liburing library call. --- tpool/aio_liburing.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tpool/aio_liburing.cc b/tpool/aio_liburing.cc index 2a9c79f9020..6eff6c313a3 100644 --- a/tpool/aio_liburing.cc +++ b/tpool/aio_liburing.cc @@ -63,6 +63,12 @@ public: } throw std::runtime_error("aio_uring()"); } + if (io_uring_ring_dontfork(&uring_) != 0) + { + my_printf_error(ER_UNKNOWN_ERROR, + "io_uring_dontfork() failed with errno %d (continuing)", + ME_ERROR_LOG | ME_WARNING, errno); + } thread_= std::thread(thread_routine, this); } -- cgit v1.2.1