Re: [PATCH] Revert "mm/page_alloc: make should_fail_alloc_page() static"

From: Christoph Hellwig
Date: Mon Jul 05 2021 - 07:55:31 EST


On Mon, Jul 05, 2021 at 12:38:06PM +0200, Marco Elver wrote:
> This reverts commit f7173090033c70886d925995e9dfdfb76dbb2441.
>
> Commit 76cd61739fd1 ("mm/error_inject: Fix allow_error_inject function
> signatures") explicitly made should_fail_alloc_page() non-static, due to
> worries of remaining compiler optimizations in the absence of function
> side-effects while being noinline.
>
> Furthermore, kernel/bpf/verifier.c pushes should_fail_alloc_page onto
> the btf_non_sleepable_error_inject BTF IDs set, which when enabling
> CONFIG_DEBUG_INFO_BTF results in an error at the BTFIDS stage:
>
> FAILED unresolved symbol should_fail_alloc_page
>
> To avoid the W=1 warning, add a function declaration right above the
> function itself, with a comment it is required in a BTF IDs set.

NAK. We're not going to make symbols pointlessly global for broken
instrumentation coe. Someone needs to fixthis eBPF mess as we had
the same kind of issue before already.