Re: Linux 5.16-rc1

From: Guenter Roeck
Date: Mon Nov 15 2021 - 19:46:40 EST


On 11/15/21 10:10 AM, Linus Torvalds wrote:
On Mon, Nov 15, 2021 at 9:07 AM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:

parisc:allmodconfig: Lots of build failures in arch/parisc/include/asm/jump_label.h.
Not fixed in -next. The problem seens to be related to the thread_info changes,
or at least bisect points to commit 01463374c50e ("Merge tag 'cpu-to-thread_info-v5.16-rc1'
of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux").

I don't think they are related to the thread_info changes except very
incidentally.

From the errors ("expected ':' before '__stringify'") it looks like
__stringify() isn't defined there, and I do think that header file
should include <linux/compiler.h> to get it.

I don't actually see how that merge commit you bisected to could
possibly matter (the diff doesn't show any header file include
changes, or any parisc ones), but I suspect you might have bisected to
it because we did end up having actual thread_info errors on parsic
that weren't fixed until commit 2a2e8202c7a1 ("parisc: move CPU field
back into thread_info").

So I suspect the parisc build problems started with thread_info issues
at that merge commit you pinpoint, and then by commit 2a2e8202c7a1
some other header file simplification had exposed that "no
__stringify()" thing).

Helge - apparently from allmodconfig and others, we have:

arch/parisc/include/asm/jump_label.h: In function 'arch_static_branch':
arch/parisc/include/asm/jump_label.h:18:18: error: expected ':'
before '__stringify'

and others, which does look like just a missing header file (that was
presumably previously implicitly included earlier, and now the
implicit include is gone).


Geert pinpointed this problem to

due to static_branch_likely() in crypto/api.c

Commit adad556efcdd4 ("crypto: api - Fix built-in testing dependency failures")
added "#include <linux/jump_label.h>". That extra include isn't needed because
crypto/internal.h already includes it. Removing it from crypto/api.c
fixes the problem for parisc, but I don't know if that is the correct fix.
Alternatively, linux/completion.h would have to be included from crypto/api.c
before including linux/jump_label.h.

Guenter