Hi Russel, On Mon, Jun 12, 2017 at 4:36 PM, Russell King - ARM Linux <li...@armlinux.org.uk> wrote: > On Mon, Jun 12, 2017 at 12:21:03PM +0200, Daniel Borkmann wrote: >> On 05/30/2017 09:19 PM, Kees Cook wrote: >> >On Thu, May 25, 2017 at 4:13 PM, Shubham Bansal >> ><illusionist....@gmail.com> wrote: >> >>+static int validate_code(struct jit_ctx *ctx) >> >>+{ >> >>+ int i; >> >>+ >> >>+ for (i = 0; i < ctx->idx; i++) { >> >>+ u32 a32_insn = le32_to_cpu(ctx->target[i]); >> >> Given __opcode_to_mem_arm(ARM_INST_UDF) is used to fill the image, >> perhaps use the __mem_to_opcode_arm() helper for the check? >> >> >>+ if (a32_insn == ARM_INST_UDF) > > The following is probably better: > > if (ctx->target[i] == __opcode_to_mem_arm(ARM_INST_UDF)) > > since then you can take advantage of the compiler optimising the > constant rather than having to do a byte swap on an unknown 32-bit > value.
Done. Thanks :) Please check if you can find anymore issues with the code. I really appreciate it. -Shubham