|
@@ -84,7 +84,7 @@
|
|
|
*
|
|
|
* 1. First argument is passed using the arm 32bit registers and rest of the
|
|
|
* arguments are passed on stack scratch space.
|
|
|
- * 2. First callee-saved arugument is mapped to arm 32 bit registers and rest
|
|
|
+ * 2. First callee-saved argument is mapped to arm 32 bit registers and rest
|
|
|
* arguments are mapped to scratch space on stack.
|
|
|
* 3. We need two 64 bit temp registers to do complex operations on eBPF
|
|
|
* registers.
|
|
@@ -1192,8 +1192,8 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx)
|
|
|
s32 jmp_offset;
|
|
|
|
|
|
#define check_imm(bits, imm) do { \
|
|
|
- if ((((imm) > 0) && ((imm) >> (bits))) || \
|
|
|
- (((imm) < 0) && (~(imm) >> (bits)))) { \
|
|
|
+ if ((imm) >= (1 << ((bits) - 1)) || \
|
|
|
+ (imm) < -(1 << ((bits) - 1))) { \
|
|
|
pr_info("[%2d] imm=%d(0x%x) out of range\n", \
|
|
|
i, imm, imm); \
|
|
|
return -EINVAL; \
|