summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/net/bpf_jitter.c19
-rw-r--r--sys/net/bpf_jitter.h2
2 files changed, 1 insertions, 20 deletions
diff --git a/sys/net/bpf_jitter.c b/sys/net/bpf_jitter.c
index 69b2511..9c30cb4 100644
--- a/sys/net/bpf_jitter.c
+++ b/sys/net/bpf_jitter.c
@@ -69,17 +69,8 @@ bpf_jitter(struct bpf_insn *fp, int nins)
if (filter == NULL)
return (NULL);
- /* Allocate the filter's memory */
- filter->mem = (int *)malloc(BPF_MEMWORDS * sizeof(int),
- M_BPFJIT, M_NOWAIT);
- if (filter->mem == NULL) {
- free(filter, M_BPFJIT);
- return (NULL);
- }
-
/* Create the binary */
if ((filter->func = bpf_jit_compile(fp, nins, filter->mem)) == NULL) {
- free(filter->mem, M_BPFJIT);
free(filter, M_BPFJIT);
return (NULL);
}
@@ -91,7 +82,6 @@ void
bpf_destroy_jit_filter(bpf_jit_filter *filter)
{
- free(filter->mem, M_BPFJIT);
free(filter->func, M_BPFJIT);
free(filter, M_BPFJIT);
}
@@ -106,16 +96,8 @@ bpf_jitter(struct bpf_insn *fp, int nins)
if (filter == NULL)
return (NULL);
- /* Allocate the filter's memory */
- filter->mem = (int *)malloc(BPF_MEMWORDS * sizeof(int));
- if (filter->mem == NULL) {
- free(filter);
- return (NULL);
- }
-
/* Create the binary */
if ((filter->func = bpf_jit_compile(fp, nins, filter->mem)) == NULL) {
- free(filter->mem);
free(filter);
return (NULL);
}
@@ -127,7 +109,6 @@ void
bpf_destroy_jit_filter(bpf_jit_filter *filter)
{
- free(filter->mem);
free(filter->func);
free(filter);
}
diff --git a/sys/net/bpf_jitter.h b/sys/net/bpf_jitter.h
index bba33a4..72d5312 100644
--- a/sys/net/bpf_jitter.h
+++ b/sys/net/bpf_jitter.h
@@ -54,7 +54,7 @@ typedef struct bpf_jit_filter {
/* The native filtering binary, in the form of a bpf_filter_func. */
bpf_filter_func func;
- int *mem;
+ int mem[BPF_MEMWORDS]; /* Scratch memory */
} bpf_jit_filter;
/*
OpenPOWER on IntegriCloud