projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b6a14a9
)
MIPS: bpf: Fix stack space allocation for BPF memwords on MIPS64
author
Markos Chandras
<
[email protected]
>
Mon, 23 Jun 2014 09:39:00 +0000
(10:39 +0100)
committer
Ralf Baechle
<
[email protected]
>
Thu, 26 Jun 2014 09:48:23 +0000
(10:48 +0100)
When allocating stack space for BPF memwords we need to use the
appropriate 32 or 64-bit instruction to avoid losing the top 32 bits
of the stack pointer.
Signed-off-by: Markos Chandras <
[email protected]
>
Cc: "David S. Miller" <
[email protected]
>
Cc: Daniel Borkmann <
[email protected]
>
Cc: Alexei Starovoitov <
[email protected]
>
Cc:
[email protected]
Cc:
[email protected]
Patchwork: https://patchwork.linux-mips.org/patch/7135/
Signed-off-by: Ralf Baechle <
[email protected]
>
arch/mips/net/bpf_jit.c
patch
|
blob
|
history
diff --git
a/arch/mips/net/bpf_jit.c
b/arch/mips/net/bpf_jit.c
index 6e3963425b64cfe753f1df2abaa04d4fc559d630..b87390a56a2fbdb42d13b3e194af6ca04127eadf 100644
(file)
--- a/
arch/mips/net/bpf_jit.c
+++ b/
arch/mips/net/bpf_jit.c
@@
-623,7
+623,10
@@
static void save_bpf_jit_regs(struct jit_ctx *ctx, unsigned offset)
if (ctx->flags & SEEN_MEM) {
if (real_off % (RSIZE * 2))
real_off += RSIZE;
- emit_addiu(r_M, r_sp, real_off, ctx);
+ if (config_enabled(CONFIG_64BIT))
+ emit_daddiu(r_M, r_sp, real_off, ctx);
+ else
+ emit_addiu(r_M, r_sp, real_off, ctx);
}
}