Re: [PATCH v2] jump label: fix passing kbuild_cflags when checking for asm goto support
From: David Lin
Date: Fri Mar 10 2017 - 13:31:15 EST
On Fri, Mar 10, 2017 at 9:55 AM, Gleb Fotengauer-Malinovskiy
<glebfm@xxxxxxxxxxxx> wrote:
>
> The latest change of asm goto support check added passing of KBUILD_CFLAGS
> to compiler. When these flags reference gcc plugins that are not built yet,
> the check fails.
>
> When one runs "make bzImage" followed by "make modules", the kernel is always
> built with HAVE_JUMP_LABEL disabled, while the modules are built depending on
> CONFIG_JUMP_LABEL. If HAVE_JUMP_LABEL macro happens to be different, modules
> are built with undefined references, e.g.:
>
> ERROR: "static_key_slow_inc" [net/netfilter/xt_TEE.ko] undefined!
> ERROR: "static_key_slow_dec" [net/netfilter/xt_TEE.ko] undefined!
> ERROR: "static_key_slow_dec" [net/netfilter/nft_meta.ko] undefined!
> ERROR: "static_key_slow_inc" [net/netfilter/nft_meta.ko] undefined!
> ERROR: "nf_hooks_needed" [net/netfilter/ipvs/ip_vs.ko] undefined!
> ERROR: "nf_hooks_needed" [net/ipv6/ipv6.ko] undefined!
> ERROR: "static_key_count" [net/ipv6/ipv6.ko] undefined!
> ERROR: "static_key_slow_inc" [net/ipv6/ipv6.ko] undefined!
>
> This change moves the check before all these references are added
> to KBUILD_CFLAGS. This is correct because subsequent KBUILD_CFLAGS
> modifications are not relevant to this check.
>
> Reported-by: Anton V. Boyarshinov <boyarsh@xxxxxxxxxxxx>
> Fixes: 35f860f9ba6a ("jump label: pass kbuild_cflags when checking for asm goto support")
> Cc: stable@xxxxxxxxxxxxxxx # v4.10
> Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@xxxxxxxxxxxx>
> Signed-off-by: Dmitry V. Levin <ldv@xxxxxxxxxxxx>
> ---
Acked-by: David Lin <dtwlin@xxxxxxxxxx>