Re: [PATCH AUTOSEL 5.3 019/292] objtool: add kunit_try_catch_throw to the noreturn list

From: Brendan Higgins
Date: Tue Dec 10 2019 - 16:32:05 EST


On Tue, Dec 10, 2019 at 1:25 PM Sasha Levin <sashal@xxxxxxxxxx> wrote:
>
> From: Brendan Higgins <brendanhiggins@xxxxxxxxxx>
>
> [ Upstream commit 33adf80f5b52e3f7c55ad66ffcaaff93c6888aaa ]
>
> Fix the following warning seen on GCC 7.3:
> kunit/test-test.o: warning: objtool: kunit_test_unsuccessful_try() falls through to next function kunit_test_catch()
>
> kunit_try_catch_throw is a function added in the following patch in this
> series; it allows KUnit, a unit testing framework for the kernel, to
> bail out of a broken test. As a consequence, it is a new __noreturn
> function that objtool thinks is broken (as seen above). So fix this
> warning by adding kunit_try_catch_throw to objtool's noreturn list.
>
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> Signed-off-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>
> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> Link: https://www.spinics.net/lists/linux-kbuild/msg21708.html
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

I don't think this change should be backported. This patch is to
ignore an erroneous warning introduced by KUnit; it serves no purpose
prior to the KUnit patches being merged.

Note: I have the same complaint for this rebase here:

https://lore.kernel.org/stable/CAFd5g45s-cGXp6at4kv+=8v3cuxfbXLPEOKGUfvJ6E+u1caHcA@xxxxxxxxxxxxxx/

> ---
> tools/objtool/check.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/objtool/check.c b/tools/objtool/check.c
> index 176f2f0840609..0c8e17f946cda 100644
> --- a/tools/objtool/check.c
> +++ b/tools/objtool/check.c
> @@ -145,6 +145,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func,
> "usercopy_abort",
> "machine_real_restart",
> "rewind_stack_do_exit",
> + "kunit_try_catch_throw",
> };
>
> if (!func)
> --
> 2.20.1
>