[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170421141305.25180-7-jslaby@suse.cz>
Date: Fri, 21 Apr 2017 16:12:43 +0200
From: Jiri Slaby <jslaby@...e.cz>
To: mingo@...hat.com
Cc: tglx@...utronix.de, hpa@...or.com, x86@...nel.org,
jpoimboe@...hat.com, linux-kernel@...r.kernel.org,
Jiri Slaby <jslaby@...e.cz>,
"David S. Miller" <davem@...emloft.net>,
Alexey Kuznetsov <kuznet@....inr.ac.ru>,
James Morris <jmorris@...ei.org>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
Patrick McHardy <kaber@...sh.net>, netdev@...r.kernel.org
Subject: [PATCH v3 07/29] x86: bpf_jit, use ENTRY+ENDPROC
Do not use a custom macro FUNC for starts of the global functions, use
ENTRY instead.
And while at it, annotate also ends of the functions by ENDPROC.
Signed-off-by: Jiri Slaby <jslaby@...e.cz>
Cc: "David S. Miller" <davem@...emloft.net>
Cc: Alexey Kuznetsov <kuznet@....inr.ac.ru>
Cc: James Morris <jmorris@...ei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>
Cc: Patrick McHardy <kaber@...sh.net>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Ingo Molnar <mingo@...hat.com>
Cc: "H. Peter Anvin" <hpa@...or.com>
Cc: x86@...nel.org
Cc: netdev@...r.kernel.org
---
arch/x86/net/bpf_jit.S | 32 ++++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/arch/x86/net/bpf_jit.S b/arch/x86/net/bpf_jit.S
index f2a7faf4706e..762c29fb8832 100644
--- a/arch/x86/net/bpf_jit.S
+++ b/arch/x86/net/bpf_jit.S
@@ -23,16 +23,12 @@
32 /* space for rbx,r13,r14,r15 */ + \
8 /* space for skb_copy_bits */)
-#define FUNC(name) \
- .globl name; \
- .type name, @function; \
- name:
-
-FUNC(sk_load_word)
+ENTRY(sk_load_word)
test %esi,%esi
js bpf_slow_path_word_neg
+ENDPROC(sk_load_word)
-FUNC(sk_load_word_positive_offset)
+ENTRY(sk_load_word_positive_offset)
mov %r9d,%eax # hlen
sub %esi,%eax # hlen - offset
cmp $3,%eax
@@ -40,12 +36,14 @@ FUNC(sk_load_word_positive_offset)
mov (SKBDATA,%rsi),%eax
bswap %eax /* ntohl() */
ret
+ENDPROC(sk_load_word_positive_offset)
-FUNC(sk_load_half)
+ENTRY(sk_load_half)
test %esi,%esi
js bpf_slow_path_half_neg
+ENDPROC(sk_load_half)
-FUNC(sk_load_half_positive_offset)
+ENTRY(sk_load_half_positive_offset)
mov %r9d,%eax
sub %esi,%eax # hlen - offset
cmp $1,%eax
@@ -53,16 +51,19 @@ FUNC(sk_load_half_positive_offset)
movzwl (SKBDATA,%rsi),%eax
rol $8,%ax # ntohs()
ret
+ENDPROC(sk_load_half_positive_offset)
-FUNC(sk_load_byte)
+ENTRY(sk_load_byte)
test %esi,%esi
js bpf_slow_path_byte_neg
+ENDPROC(sk_load_byte)
-FUNC(sk_load_byte_positive_offset)
+ENTRY(sk_load_byte_positive_offset)
cmp %esi,%r9d /* if (offset >= hlen) goto bpf_slow_path_byte */
jle bpf_slow_path_byte
movzbl (SKBDATA,%rsi),%eax
ret
+ENDPROC(sk_load_byte_positive_offset)
/* rsi contains offset and can be scratched */
#define bpf_slow_path_common(LEN) \
@@ -119,31 +120,34 @@ bpf_slow_path_word_neg:
cmp SKF_MAX_NEG_OFF, %esi /* test range */
jl bpf_error /* offset lower -> error */
-FUNC(sk_load_word_negative_offset)
+ENTRY(sk_load_word_negative_offset)
sk_negative_common(4)
mov (%rax), %eax
bswap %eax
ret
+ENDPROC(sk_load_word_negative_offset)
bpf_slow_path_half_neg:
cmp SKF_MAX_NEG_OFF, %esi
jl bpf_error
-FUNC(sk_load_half_negative_offset)
+ENTRY(sk_load_half_negative_offset)
sk_negative_common(2)
mov (%rax),%ax
rol $8,%ax
movzwl %ax,%eax
ret
+ENDPROC(sk_load_half_negative_offset)
bpf_slow_path_byte_neg:
cmp SKF_MAX_NEG_OFF, %esi
jl bpf_error
-FUNC(sk_load_byte_negative_offset)
+ENTRY(sk_load_byte_negative_offset)
sk_negative_common(1)
movzbl (%rax), %eax
ret
+ENDPROC(sk_load_byte_negative_offset)
bpf_error:
# force a return 0 from jit handler
--
2.12.2
Powered by blists - more mailing lists