Re: [PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-10-04 Thread Ricardo Neri
On Fri, 2017-09-29 at 13:56 +0200, Borislav Petkov wrote: > On Thu, Sep 28, 2017 at 11:06:42PM -0700, Ricardo Neri wrote: > > > > I agree. In fact, insn_get_seg_base() does not need insn at all. All it > > needs is > > a INAT_SEG_REG_* index. This would make things clear. UMIP (and callers that >

Re: [PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-09-29 Thread Borislav Petkov
On Thu, Sep 28, 2017 at 11:06:42PM -0700, Ricardo Neri wrote: > I agree. In fact, insn_get_seg_base() does not need insn at all. All it needs > is > a INAT_SEG_REG_* index. This would make things clear. UMIP (and callers that > need to copy_from_user code can do insn_get_seg_base(regs, INAT_SEG_RE

Re: [PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-09-28 Thread Ricardo Neri
On Thu, 2017-09-28 at 11:36 +0200, Borislav Petkov wrote: > On Wed, Sep 27, 2017 at 03:32:26PM -0700, Ricardo Neri wrote: > > > > The idea is that get_overridden_seg_reg() would implement the logic you > > just described. It would return return INAT_SEG_REG_DEFAULT/IGNORE when > > segment override

Re: [PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-09-28 Thread Borislav Petkov
On Wed, Sep 27, 2017 at 03:32:26PM -0700, Ricardo Neri wrote: > The idea is that get_overridden_seg_reg() would implement the logic you > just described. It would return return INAT_SEG_REG_DEFAULT/IGNORE when > segment override prefixes are not allowed (i.e., valid insn with > operand rDI and stri

Re: [PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-09-27 Thread Ricardo Neri
On Wed, 2017-09-27 at 13:47 +0200, Borislav Petkov wrote: > On Tue, Sep 26, 2017 at 09:21:44PM -0700, Ricardo Neri wrote: > > > > This is true except when we don't have an insn at all (well, it may > > be > > non-NULL but it will only contain garbage). The case to which I am > > referring is when

Re: [PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-09-27 Thread Borislav Petkov
On Tue, Sep 26, 2017 at 09:21:44PM -0700, Ricardo Neri wrote: > This is true except when we don't have an insn at all (well, it may be > non-NULL but it will only contain garbage). The case to which I am > referring is when we begin decoding our instruction. The first step is > to copy_from_user th

Re: [PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-09-26 Thread Ricardo Neri
On Tue, 2017-09-26 at 12:43 +0200, Borislav Petkov wrote: > Hi, > > On Fri, Aug 18, 2017 at 05:27:53PM -0700, Ricardo Neri wrote: > > > > When computing a linear address and segmentation is used, we need > > to know > > the base address of the segment involved in the computation. In > > most of >

Re: [PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-09-26 Thread Borislav Petkov
Hi, On Fri, Aug 18, 2017 at 05:27:53PM -0700, Ricardo Neri wrote: > When computing a linear address and segmentation is used, we need to know > the base address of the segment involved in the computation. In most of > the cases, the segment base address will be zero as in USER_DS/USER32_DS. ...

[PATCH v8 12/28] x86/insn-eval: Add utility functions to get segment selector

2017-08-18 Thread Ricardo Neri
When computing a linear address and segmentation is used, we need to know the base address of the segment involved in the computation. In most of the cases, the segment base address will be zero as in USER_DS/USER32_DS. However, it may be possible that a user space program defines its own segments