On Wed, 2017-06-07 at 17:49 +0200, Borislav Petkov wrote:
On Fri, May 05, 2017 at 11:17:14AM -0700, Ricardo Neri wrote:
@@ -697,18 +753,21 @@ void __user *insn_get_addr_ref(struct insn *insn, struct pt_regs *regs) { unsigned long linear_addr, seg_base_addr, seg_limit; long eff_addr, base, indx;
- int addr_offset, base_offset, indx_offset;
int addr_offset, base_offset, indx_offset, addr_bytes; insn_byte_t sib;
insn_get_modrm(insn); insn_get_sib(insn); sib = insn->sib.value;
addr_bytes = insn->addr_bytes;
if (X86_MODRM_MOD(insn->modrm.value) == 3) { addr_offset = get_reg_offset(insn, regs, REG_TYPE_RM); if (addr_offset < 0) goto out_err;
eff_addr = regs_get_register(regs, addr_offset);
eff_addr = get_mem_offset(regs, addr_offset, addr_bytes);
if (eff_addr == -1L)
seg_base_addr = insn_get_seg_base(regs, insn, addr_offset); if (seg_base_addr == -1L) goto out_err;goto out_err;
This code here is too dense, it needs spacing for better readability.
I have spaced out in my upcoming version.
Thanks and BR, Ricardo