Re: [PATCH v2 12/16] objtool: Read special sections with alts only when specific options are selected

From: Christophe Leroy
Date: Tue Aug 30 2022 - 02:32:03 EST




Le 29/08/2022 à 07:52, Sathvika Vasireddy a écrit :
> This patch reads special sections which have alternate
> instructions, only when stackval or orc or uaccess or
> noinstr options are passed to objtool.

Unclear, I had to read it three time to understand.

What about something like:

--- >8 ---
Reading special sections which have alternate instructions is only
needed for stack validation or orc or uaccess validation or noinstr
validation.

Only call add_special_section_alts() when stackval or orc or uaccess or
noinstr options are passed to objtool.
--- >8 ---

>
> Signed-off-by: Sathvika Vasireddy <sv@xxxxxxxxxxxxx>
> ---
> tools/objtool/check.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/tools/objtool/check.c b/tools/objtool/check.c
> index 3cea58f73878..5298a143ceac 100644
> --- a/tools/objtool/check.c
> +++ b/tools/objtool/check.c
> @@ -2370,9 +2370,11 @@ static int decode_sections(struct objtool_file *file)
> * Must be before add_jump_destinations(), which depends on 'func'
> * being set for alternatives, to enable proper sibling call detection.
> */
> - ret = add_special_section_alts(file);
> - if (ret)
> - return ret;
> + if (opts.stackval || opts.orc || opts.uaccess || opts.noinstr) {
> + ret = add_special_section_alts(file);
> + if (ret)
> + return ret;
> + }
>
> ret = add_jump_destinations(file);
> if (ret)