Re: [RFC] Have insn decoder functions return success/failure

From: Masami Hiramatsu
Date: Wed Oct 21 2020 - 10:26:19 EST


On Wed, 21 Oct 2020 11:27:50 +0200
Borislav Petkov <bp@xxxxxxxxx> wrote:

> On Wed, Oct 21, 2020 at 09:50:13AM +0900, Masami Hiramatsu wrote:
> > Agreed. So I'm OK for returning the result of "decoding".
> > But we also need to note that the returning success doesn't
> > mean the instruction is valid. That needs another validator.
> >
> ...
>
> >
> > Yes, so let's add the return value (with a note, so that someone
> > does not try to use it for validation).
>
> Ok, I'm unclear on that "validation" you talk about. What exactly do
> you mean? Can you give an example of how one would determine whether an
> instruction is valid? And valid how?

Hmm, I meant someone might think it can be used for filtering the
instruction something like,

insn_init(insn, buf, buflen, 1);
ret = insn_get_length(insn);
if (!ret) {
/* OK, this is safe */
patch_text(buf, trampoline);
}

No, we need another validator for such usage.

Thank you,

>
> Thx.
>
> --
> Regards/Gruss,
> Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>