Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package liburing for openSUSE:Factory 
checked in at 2024-07-22 17:14:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/liburing (Old)
 and      /work/SRC/openSUSE:Factory/.liburing.new.17339 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "liburing"

Mon Jul 22 17:14:46 2024 rev:22 rq:1188710 version:2.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/liburing/liburing.changes        2024-07-14 
08:48:50.688808084 +0200
+++ /work/SRC/openSUSE:Factory/.liburing.new.17339/liburing.changes     
2024-07-22 17:15:03.958218652 +0200
@@ -1,0 +2,6 @@
+Fri Jul 12 16:49:22 UTC 2024 - David Disseldorp <[email protected]>
+
+- Fix buf-ring-nommap.t test failure
+  * test-buf-ring-nommap-zero-the-ringbuf-memory.patch
+
+-------------------------------------------------------------------

New:
----
  test-buf-ring-nommap-zero-the-ringbuf-memory.patch

BETA DEBUG BEGIN:
  New:- Fix buf-ring-nommap.t test failure
  * test-buf-ring-nommap-zero-the-ringbuf-memory.patch
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ liburing.spec ++++++
--- /var/tmp/diff_new_pack.z2CgvY/_old  2024-07-22 17:15:04.818253235 +0200
+++ /var/tmp/diff_new_pack.z2CgvY/_new  2024-07-22 17:15:04.818253235 +0200
@@ -25,6 +25,7 @@
 Group:          Development/Libraries/C and C++
 URL:            https://git.kernel.dk/cgit/liburing
 Source:         
https://git.kernel.dk/cgit/liburing/snapshot/%{name}-%{version}.tar.bz2
+Patch0:         test-buf-ring-nommap-zero-the-ringbuf-memory.patch
 BuildRequires:  gcc-c++
 BuildRequires:  pkgconfig
 BuildRequires:  procps
@@ -86,8 +87,7 @@
 # io_uring syscalls not supported as of qemu 7.0.0 and would test the host
 # kernel anyway not the target kernel..
 %if !0%{?qemu_user_space_build}
-# buf-ring-nommap.t crashes with kernel 6.9
-/usr/bin/make %{?_smp_mflags} runtests TEST_EXCLUDE='buf-ring-nommap.t'
+/usr/bin/make %{?_smp_mflags} runtests
 %endif
 
 %install

++++++ test-buf-ring-nommap-zero-the-ringbuf-memory.patch ++++++
>From 8100d7b5f862fa514d821e8bd8f99d0de79af571 Mon Sep 17 00:00:00 2001
From: "Jiri Slaby (SUSE)" <[email protected]>
Date: Fri, 12 Jul 2024 13:17:03 +0200
Subject: [PATCH] test/buf-ring-nommap: zero the ringbuf memory

The test crashes when run under the openSUSE build system. It sets
MALLOC_PERTURB_=69 in the environment, so the allocated memory is
initialized to 0xba.

Later in io_uring_get_sqe() -> _io_uring_get_sqe():
1424           if (next - head <= sq->ring_entries) {
(gdb) p *sq
$2 = {khead = 0x55555555d000, ktail = 0x55555555d004,
 kring_mask = 0x55555555d010, kring_entries = 0x55555555d018,
 kflags = 0x55555555d024, kdropped = 0x55555555d020, array = 0x0,
 sqes = 0x55555555c000, sqe_head = 0, sqe_tail = 0, ring_sz = 0,
 ring_ptr = 0x55555555d000, ring_mask = 0, ring_entries = 1, pad = {0, 0}}
(gdb) p sq->ring_entries
$3 = 1
(gdb) p next
$4 = 1
(gdb) p/x head
$6 = 0xbabababa

And that causes a crash, of course.

Fix that by zeroing the memory after posix_memalign().

Signed-off-by: Jiri Slaby (SUSE) <[email protected]>
---
 test/buf-ring-nommap.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/test/buf-ring-nommap.c b/test/buf-ring-nommap.c
index 1e47f28..17c1495 100644
--- a/test/buf-ring-nommap.c
+++ b/test/buf-ring-nommap.c
@@ -41,6 +41,8 @@ int main(int argc, char *argv[])
        if (posix_memalign(&ring_mem, 16384, 16384))
                return T_EXIT_FAIL;
 
+       memset(ring_mem, 0, 16384);
+
        p.flags = IORING_SETUP_NO_MMAP;
        ret = io_uring_queue_init_mem(1, &ring, &p, ring_mem, 16384);
        if (ret < 0) {
-- 
2.35.3

Reply via email to