2019-12-10 21:05:53

by Sasha Levin

[permalink] [raw]
Subject: [PATCH AUTOSEL 5.4 025/350] objtool: add kunit_try_catch_throw to the noreturn list

From: Brendan Higgins <[email protected]>

[ 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 <[email protected]>
Signed-off-by: Brendan Higgins <[email protected]>
Acked-by: Josh Poimboeuf <[email protected]>
Link: https://www.spinics.net/lists/linux-kbuild/msg21708.html
Cc: Peter Zijlstra <[email protected]>
Signed-off-by: Shuah Khan <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
tools/objtool/check.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 044c9a3cb2472..543c068096b12 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -144,6 +144,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


2019-12-10 21:27:04

by Brendan Higgins

[permalink] [raw]
Subject: Re: [PATCH AUTOSEL 5.4 025/350] objtool: add kunit_try_catch_throw to the noreturn list

On Tue, Dec 10, 2019 at 1:04 PM Sasha Levin <[email protected]> wrote:
>
> From: Brendan Higgins <[email protected]>
>
> [ 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 <[email protected]>
> Signed-off-by: Brendan Higgins <[email protected]>
> Acked-by: Josh Poimboeuf <[email protected]>
> Link: https://www.spinics.net/lists/linux-kbuild/msg21708.html
> Cc: Peter Zijlstra <[email protected]>
> Signed-off-by: Shuah Khan <[email protected]>
> Signed-off-by: Sasha Levin <[email protected]>

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.

> ---
> tools/objtool/check.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/objtool/check.c b/tools/objtool/check.c
> index 044c9a3cb2472..543c068096b12 100644
> --- a/tools/objtool/check.c
> +++ b/tools/objtool/check.c
> @@ -144,6 +144,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
>

2019-12-19 15:28:33

by Sasha Levin

[permalink] [raw]
Subject: Re: [PATCH AUTOSEL 5.4 025/350] objtool: add kunit_try_catch_throw to the noreturn list

On Tue, Dec 10, 2019 at 01:25:54PM -0800, Brendan Higgins wrote:
>On Tue, Dec 10, 2019 at 1:04 PM Sasha Levin <[email protected]> wrote:
>>
>> From: Brendan Higgins <[email protected]>
>>
>> [ 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 <[email protected]>
>> Signed-off-by: Brendan Higgins <[email protected]>
>> Acked-by: Josh Poimboeuf <[email protected]>
>> Link: https://www.spinics.net/lists/linux-kbuild/msg21708.html
>> Cc: Peter Zijlstra <[email protected]>
>> Signed-off-by: Shuah Khan <[email protected]>
>> Signed-off-by: Sasha Levin <[email protected]>
>
>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.

I'll drop it, thanks!

--
Thanks,
Sasha