Re: [v6 PATCH 03/21] x86/mpx: Do not use R/EBP as base in the SIB byte with Mod = 0

Ricardo Neri <[email protected]>
Newsgroups gmane.linux.msdos.general,gmane.linux.kernel,gmane.comp.emulators.wine.devel
Message-ID <1493333398.74182.10.camel@ranerica-desktop>
On Wed, 2017-04-26 at 10:05 +0200, Borislav Petkov wrote:
> On Tue, Apr 25, 2017 at 07:04:20PM -0700, Ricardo Neri wrote:
> > For the specific case of ModRM.mod being 0, I feel I need to clarify
> > that REX.B is not decoded and if SIB.base is %r13 the base is also 0.
> 
> Well, that all doesn't matter. The rule is this:
> 
> ModRM.mod == 00b and ModRM.r/m == 101b -> effective address: disp32
> 
> See Table 2-2. "32-Bit Addressing Forms with the ModR/M Byte" in the SDM.

You are right. This summarizes the rule. Then I will shorten the
comment.
> 
> So the base register is not used. How that base register is specified
> then doesn't matter (undecoded REX bits or not).
> 
> > This comment adds clarity because REX.X is decoded when determining
> > SIB.index.
> 
> Well, that's a different thing. The REX bits participating in the SIB
> fields don't matter about this particular case. We only want to say that
> we're returning a disp32 without a base register and the comment should
> keep it simple without extraneous information.
> 
> I know, you want to mention what Table 2-5. "Special Cases of REX
> Encodings" says but we should avoid unnecessary content in the comment.
> People who want details can stare at the manuals - the comment should
> only document what that particular case is.
> 
> Btw, you could write it even better:
> 
> 	if (!X86_MODRM_MOD(insn->modrm.value) && X86_MODRM_RM(insn->modrm.value) == 5)
> 
> and then it is basically a 1:1 copy of the rule from Table 2-2.

It is!

Thanks and BR,
Ricardo

--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.