diff options
author | archie <archie@FreeBSD.org> | 1999-12-06 18:43:32 +0000 |
---|---|---|
committer | archie <archie@FreeBSD.org> | 1999-12-06 18:43:32 +0000 |
commit | 046ee838bbccb6680fb79817084fe4ba46c704f2 (patch) | |
tree | c79d4bcd171d91dbd7c1064a40b8622b8b6d4330 /sys/netgraph/ng_bpf.c | |
parent | 7ed7dfa1b1ec590e2f3ae57fb900ab4caf6bfc97 (diff) | |
download | FreeBSD-src-046ee838bbccb6680fb79817084fe4ba46c704f2.zip FreeBSD-src-046ee838bbccb6680fb79817084fe4ba46c704f2.tar.gz |
Change definition of NG_BPF_HOOKPROG_SIZE() so as not to require
a structure pointer, just the number of BPF instructions.
Diffstat (limited to 'sys/netgraph/ng_bpf.c')
-rw-r--r-- | sys/netgraph/ng_bpf.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/sys/netgraph/ng_bpf.c b/sys/netgraph/ng_bpf.c index 7b0e80c..f3c979f 100644 --- a/sys/netgraph/ng_bpf.c +++ b/sys/netgraph/ng_bpf.c @@ -279,7 +279,8 @@ ng_bpf_rcvmsg(node_p node, struct ng_mesg *msg, const char *retaddr, /* Sanity check */ if (msg->header.arglen < sizeof(*hp) - || msg->header.arglen != NG_BPF_HOOKPROG_SIZE(hp)) + || msg->header.arglen + != NG_BPF_HOOKPROG_SIZE(hp->bpf_prog_len)) ERROUT(EINVAL); /* Find hook */ @@ -294,8 +295,8 @@ ng_bpf_rcvmsg(node_p node, struct ng_mesg *msg, const char *retaddr, case NGM_BPF_GET_PROGRAM: { + struct ng_bpf_hookprog *hp; hook_p hook; - hinfo_p hip; /* Sanity check */ if (msg->header.arglen == 0) @@ -305,15 +306,15 @@ ng_bpf_rcvmsg(node_p node, struct ng_mesg *msg, const char *retaddr, /* Find hook */ if ((hook = ng_findhook(node, msg->data)) == NULL) ERROUT(ENOENT); - hip = hook->private; /* Build response */ + hp = ((hinfo_p)hook->private)->prog; NG_MKRESPONSE(resp, msg, - NG_BPF_HOOKPROG_SIZE(hip->prog), M_NOWAIT); + NG_BPF_HOOKPROG_SIZE(hp->bpf_prog_len), M_NOWAIT); if (resp == NULL) ERROUT(ENOMEM); - bcopy(hip->prog, resp->data, - NG_BPF_HOOKPROG_SIZE(hip->prog)); + bcopy(hp, resp->data, + NG_BPF_HOOKPROG_SIZE(hp->bpf_prog_len)); break; } @@ -486,7 +487,7 @@ ng_bpf_setprog(hook_p hook, const struct ng_bpf_hookprog *hp0) return (EINVAL); /* Make a copy of the program */ - size = NG_BPF_HOOKPROG_SIZE(hp0); + size = NG_BPF_HOOKPROG_SIZE(hp0->bpf_prog_len); MALLOC(hp, struct ng_bpf_hookprog *, size, M_NETGRAPH, M_WAITOK); if (hp == NULL) return (ENOMEM); |