Re: [PATCH v15 13/25] x86/reboot: Add ljmp instructions to stacktool whitelist

From: Ingo Molnar
Date: Wed Jan 13 2016 - 05:55:24 EST



* Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:

> > Well, I can't say that I'm crazy about all those new tools adding markers to
> > unrelated kernel code.
> >
> > Can't you teach stacktool to ignore the whole machine_real_restart() function
> > simply?
>
> Well, these STACKTOOL_IGNORE whitelist markers are only needed in a handful of
> places, and only for code that does very weird things. Yes, they're a bit ugly,
> but IMO they also communicate valuable information: "be careful, this code does
> something very weird."

How common are these markers? Like with lockdep, it all depends on magnitude:

- If it's less than 10 I'd say it's OK.

- If it's dozens then it's ho-hum.

- If certain types of annotations can go over 100, then they are unacceptable.

all such in-code overhead has to be balanced against the utility of the tooling.

> As for whether to put the whitelist info in the code vs hard-coding it in
> stacktool, I think it's clearer and less "magical" to put them directly in the
> code.

That's true - but I think Boris tried to ask something slightly different: can
stacktool be taught to detect weird signatures automatically, and to ignore them
automatically?

Stuff like 16-bit code sure wounds 'weird' and the tool could detect that?

Thanks,

Ingo