diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2013-06-15 20:57:47 +0200 |
---|---|---|
committer | Daniel Borkmann <dborkman@redhat.com> | 2013-06-15 20:57:47 +0200 |
commit | 1bb8cf17318a09ee55a99043703512ec37560b29 (patch) | |
tree | 2bcfd5795aeef5efec437f53483ea983e0688776 /bpf_parser.y | |
parent | d9b5259582a6073d1c2bada8c3294c7550c7b678 (diff) |
bpf: use Linux' define of BPF_MAXINSNS
Do not necessarily define our own, only in case the Linux one is
not available.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Diffstat (limited to 'bpf_parser.y')
-rw-r--r-- | bpf_parser.y | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/bpf_parser.y b/bpf_parser.y index 19268ae..a101057 100644 --- a/bpf_parser.y +++ b/bpf_parser.y @@ -17,6 +17,7 @@ #include <stdint.h> #include <errno.h> #include <libgen.h> +#include <linux/filter.h> #include "bpf.h" #include "str.h" @@ -25,20 +26,17 @@ #include "built_in.h" #include "die.h" -#define MAX_INSTRUCTIONS 4096 - int compile_filter(char *file, int verbose, int bypass, int format, bool invoke_cpp); static int curr_instr = 0; -static struct sock_filter out[MAX_INSTRUCTIONS]; - -static char *labels[MAX_INSTRUCTIONS]; +static struct sock_filter out[BPF_MAXINSNS]; -static char *labels_jt[MAX_INSTRUCTIONS]; -static char *labels_jf[MAX_INSTRUCTIONS]; -static char *labels_k[MAX_INSTRUCTIONS]; +static char *labels[BPF_MAXINSNS]; +static char *labels_jt[BPF_MAXINSNS]; +static char *labels_jf[BPF_MAXINSNS]; +static char *labels_k[BPF_MAXINSNS]; #define YYERROR_VERBOSE 0 #define YYDEBUG 0 @@ -54,7 +52,7 @@ extern char *yytext; static inline void check_max_instr(void) { - if (curr_instr >= MAX_INSTRUCTIONS) + if (curr_instr >= BPF_MAXINSNS) panic("Exceeded maximal number of instructions!\n"); } |