On Tue, 08 Nov 2022 15:51:17 +0300 Michael Tokarev <m...@tls.msk.ru> wrote:
Source: liburing
Version: 2.3-1
Severity: grave

liburing 2.3 broke binary compatibility without bumping the soname.

In liburing.h in 2.3, structures io_uring_cq and io_uring_sq changed
their sizes. Both of these structures are parts of io_uring structure
which the main part of the API.  Here's the difference:

@@ -43,7 +79,9 @@
@@ -56,13 +94,18 @@
        size_t ring_sz;
        void *ring_ptr;
- unsigned pad[4];
+       unsigned ring_mask;
+       unsigned ring_entries;
+
+       unsigned pad[2];

This does not look like it is changing the size actually, - I haven't
noticed it adjusts pad[] accordingly. So this is not the issue here.

But the end result is the same: samba compiled with liburing 2.2 does
not work with runtime liburing 2.3, and samba compiled with liburing
2.3 does not work with runtime liburing 2.2.

I'm just too tired now to dig further.

/mjt

Reply via email to