lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 16 Sep 2014 09:34:34 -0700 From: Z Lim <zlim.lnx@...il.com> To: Catalin Marinas <catalin.marinas@....com>, Will Deacon <will.deacon@....com> Cc: Daniel Borkmann <dborkman@...hat.com>, "linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>, LKML <linux-kernel@...r.kernel.org>, "David S. Miller" <davem@...emloft.net>, Alexei Starovoitov <ast@...mgrid.com> Subject: Re: [PATCH arm64-next v4] net: bpf: arm64: address randomize and write protect JIT code Hi Catalin, Will, On Tue, Sep 16, 2014 at 12:48 AM, Daniel Borkmann <dborkman@...hat.com> wrote: [...] > +static void jit_fill_hole(void *area, unsigned int size) > +{ > + u32 *ptr; > + /* We are guaranteed to have aligned memory. */ > + for (ptr = area; size >= sizeof(u32); size -= sizeof(u32)) > + *ptr++ = cpu_to_le32(AARCH64_BREAK_FAULT); > +} [...] Out of curiosity, I looked at objdump of the above code. 0000000000000088 <jit_fill_hole>: 88: 71000c3f cmp w1, #0x3 8c: 54000149 b.ls b4 <jit_fill_hole+0x2c> 90: 51001022 sub w2, w1, #0x4 94: 927e7442 and x2, x2, #0xfffffffc 98: 91001042 add x2, x2, #0x4 9c: 8b020002 add x2, x0, x2 a0: 52840001 mov w1, #0x2000 // #8192 <-- loops here a4: 72ba8401 movk w1, #0xd420, lsl #16 a8: b8004401 str w1, [x0],#4 <-- is there an optimization such that we loop here? ac: eb02001f cmp x0, x2 b0: 54ffff81 b.ne a0 <jit_fill_hole+0x18> b4: d65f03c0 ret I'm wondering if there's any optimizations that'll generate code that loops at 0xa8 instead of 0xa0. w1 only needs to loaded with the constant once, but here we're reloading it on every iteration of the loop. Thanks, z -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists