Re: [PATCH mptcp-net] mptcp: fix BUILD_BUG_ON on legacy ARM config
"Arnd Bergmann" <[email protected]> Fri, 24 Jul 2026 09:57:48 +0200
| Newsgroups | dev.linux.lists.mptcp |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jul 7, 2026, at 18:48, Matthieu Baerts (NGI0) wrote:
> The 0-day bot managed to find kernel configs that cause build failures,
> e.g. when using the StrongARM SA1100 target (ARMv4).
>
> On such legacy ARM architecture, all structures are apparently aligned
> to 32 bits, causing build issue here. Indeed, on such architecture,
> 'flags' size is not equivalent to sizeof(u16) as expected, but to
> sizeof(u32).
I just saw the patch get merged upstream and wanted to clarify that
this is ARM OABI (CONFIG_AEABI=n), which is technically unrelated
to the CPU type. It has a lot of problems and should hopefully
go away soon.
While I'm testing randconfig builds on Arm all the time, I specifically
don't test OABI kernels.
I had to check that this isn't actually ABI or wire protocol though,
otherwise dropping the BUILD_BUG_ON() would be hiding bigger problems.
> Instead, use memset(). It was not used before to ensure a simple clear
> operation was used by the compiler. But at the end, it shouldn't matter,
> and the compiler should optimise this to the same operation with or
> without memset() when -O above 0 is used. So let's switch to memset() to
> fix this issue, and reduce this complexity.
The optimization will not be used on architectures that build
with -ffreestanding (apparently m68k, mips, sh, i386). We probably
don't care about performance on those or we would have changed
that already.
Arnd