[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests/docker: Kludge <linux/swab.h> breakage by pinning linu
From: |
Alex Bennée |
Subject: |
Re: [PATCH] tests/docker: Kludge <linux/swab.h> breakage by pinning linux-libc-dev |
Date: |
Wed, 13 May 2020 18:53:46 +0100 |
User-agent: |
mu4e 1.4.5; emacs 28.0.50 |
Salvatore Bonaccorso <address@hidden> writes:
> Hi,
>
> On Wed, May 13, 2020 at 04:15:48PM +0100, Alex Bennée wrote:
>>
>> Philippe Mathieu-Daudé <address@hidden> writes:
>>
>> > Linux kernel commit d5767057c9a [1] aimed to fix an issue with the
>> > swab() declaration, but doing so it introduced the BITS_PER_LONG
>> > definition, without using the kernel __ prefix, leading to odd
>> > failures in userland code using kernel uapi headers, such:
>> >
>> > CC block/file-posix.o
>> > In file included from include/qemu/timer.h:4,
>> > from include/qemu/timed-average.h:29,
>> > from include/block/accounting.h:28,
>> > from include/block/block_int.h:27,
>> > from block/file-posix.c:30:
>> > /usr/include/linux/swab.h: In function `__swab':
>> > include/qemu/bitops.h:20:34: error: "sizeof" is not defined, evaluates
>> > to 0 [-Werror=undef]
>> > 20 | #define BITS_PER_LONG (sizeof (unsigned long) *
>> > BITS_PER_BYTE)
>> > | ^~~~~~
>> > include/qemu/bitops.h:20:41: error: missing binary operator before
>> > token "("
>> > 20 | #define BITS_PER_LONG (sizeof (unsigned long) *
>> > BITS_PER_BYTE)
>> > | ^
>> > cc1: all warnings being treated as errors
>> > make: *** [rules.mak:69: block/file-posix.o] Error 1
>> >
>> > The issue has been fixed in Linux kernel commit 467d12f5c78 [2].
>> > Some distributions already backported the first commit, but still
>> > lack the second one.
>> >
>> > This is the case for Debian Buster.
>> > The linux-libc-dev package contains the Linux kernel headers.
>> > Kernel commit d5767057c9a has been backported in package
>> > commit 1fb0eb7956 "Update to 4.19.116" [3], see debian/changelog:
>> >
>> > +linux (4.19.116-1) UNRELEASED; urgency=medium
>> > ...
>> > + - uapi: rename ext2_swab() to swab() and share globally in swab.h
>> >
>> > The previous released update before it is debian/4.19.98-1,
>> > released as debian/4.19.98-1+deb10u1.
>> >
>> > We can find this package in the Debian snapshot archives,
>> > luckily archived on 2020-04-28 21:20:54 (see [4]).
>> >
>> > QEMU use Debian based Docker images for most of its cross-builds,
>> > which are tested by our Shippable CI jobs. The current broken
>> > package makes most of our CI red. We can kludge this by using the
>> > latest package released before the breakage. Do so by pinning
>> > the package version (apt hold), and using the snapshot archives,
>> > similar to commit b4048a7cd1.
>> > We'll revert once the fix is backported on Debian.
>>
>> May as well mention:
>>
>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960271
>
> FWIW, we applied in the buster packaging branch
> https://salsa.debian.org/kernel-team/linux/-/commit/a4fb2a7b7688f3a7cb36e17b9d8c661ac44a41a4
>
> But the point release just happened last weekend, so it might take
> some time until the fix will enter either via the 10.5 point release
> or sooner by a needed update.
Thanks for the update. So I guess we wait for a CVE to trigger an early
release ;-)
--
Alex Bennée