summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2012-05-29 22:28:46 +0000
committerjkim <jkim@FreeBSD.org>2012-05-29 22:28:46 +0000
commitf2bf1d383ee6eb263e38a729bfe8e9fd83b43d92 (patch)
tree2277a8ff1a752764c023c5fcec0ef4b8f7b5fa9d /sys/net
parent9a4c9bf04ced67d3d36fdd3b2ab2310e3caf09db (diff)
downloadFreeBSD-src-f2bf1d383ee6eb263e38a729bfe8e9fd83b43d92.zip
FreeBSD-src-f2bf1d383ee6eb263e38a729bfe8e9fd83b43d92.tar.gz
Fix style(9) nits, reduce unnecessary type castings, etc., for bpf_setf().
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/bpf.c39
1 files changed, 20 insertions, 19 deletions
diff --git a/sys/net/bpf.c b/sys/net/bpf.c
index 0f736d1..9ade643 100644
--- a/sys/net/bpf.c
+++ b/sys/net/bpf.c
@@ -159,7 +159,7 @@ static void catchpacket(struct bpf_d *, u_char *, u_int, u_int,
void (*)(struct bpf_d *, caddr_t, u_int, void *, u_int),
struct bintime *);
static void reset_d(struct bpf_d *);
-static int bpf_setf(struct bpf_d *, struct bpf_program *, u_long cmd);
+static int bpf_setf(struct bpf_d *, struct bpf_program *, u_long cmd);
static int bpf_getdltlist(struct bpf_d *, struct bpf_dltlist *);
static int bpf_setdlt(struct bpf_d *, u_int);
static void filt_bpfdetach(struct knote *);
@@ -1708,6 +1708,10 @@ bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags,
static int
bpf_setf(struct bpf_d *d, struct bpf_program *fp, u_long cmd)
{
+#ifdef COMPAT_FREEBSD32
+ struct bpf_program fp_swab;
+ struct bpf_program32 *fp32;
+#endif
struct bpf_insn *fcode, *old;
#ifdef BPF_JITTER
bpf_jit_filter *jfunc, *ofunc;
@@ -1715,10 +1719,8 @@ bpf_setf(struct bpf_d *d, struct bpf_program *fp, u_long cmd)
size_t size;
u_int flen;
int need_upgrade;
-#ifdef COMPAT_FREEBSD32
- struct bpf_program32 *fp32;
- struct bpf_program fp_swab;
+#ifdef COMPAT_FREEBSD32
switch (cmd) {
case BIOCSETF32:
case BIOCSETWF32:
@@ -1743,36 +1745,35 @@ bpf_setf(struct bpf_d *d, struct bpf_program *fp, u_long cmd)
#ifdef BPF_JITTER
jfunc = ofunc = NULL;
#endif
+ need_upgrade = 0;
/*
* Check new filter validness before acquiring any locks.
* Allocate memory for new filter, if needed.
*/
flen = fp->bf_len;
- if ((flen > bpf_maxinsns) || ((fp->bf_insns == NULL) && (flen != 0)))
+ if (flen > bpf_maxinsns || (fp->bf_insns == NULL && flen != 0))
return (EINVAL);
-
- need_upgrade = 0;
size = flen * sizeof(*fp->bf_insns);
if (size > 0) {
- /* We're setting up new filter. Copy and check actual data */
- fcode = (struct bpf_insn *)malloc(size, M_BPF, M_WAITOK);
- if (copyin((caddr_t)fp->bf_insns, (caddr_t)fcode, size) != 0 ||
- bpf_validate(fcode, (int)flen) == 0) {
+ /* We're setting up new filter. Copy and check actual data. */
+ fcode = malloc(size, M_BPF, M_WAITOK);
+ if (copyin(fp->bf_insns, fcode, size) != 0 ||
+ !bpf_validate(fcode, flen)) {
free(fcode, M_BPF);
return (EINVAL);
}
#ifdef BPF_JITTER
- /* Filter is copied inside fcode and is perfectly valid */
+ /* Filter is copied inside fcode and is perfectly valid. */
jfunc = bpf_jitter(fcode, flen);
#endif
}
BPF_LOCK();
- /*
+ /*
* Set up new filter.
- * Protect filter change by interface lock
+ * Protect filter change by interface lock.
* Additionally, we are protected by global lock here.
*/
if (d->bd_bif != NULL)
@@ -1794,9 +1795,9 @@ bpf_setf(struct bpf_d *d, struct bpf_program *fp, u_long cmd)
if (fcode != NULL) {
/*
* Do not require upgrade by first BIOCSETF
- * (used to set snaplen) by pcap_open_live()
+ * (used to set snaplen) by pcap_open_live().
*/
- if ((d->bd_writer != 0) && (--d->bd_writer == 0))
+ if (d->bd_writer != 0 && --d->bd_writer == 0)
need_upgrade = 1;
CTR4(KTR_NET, "%s: filter function set by pid %d, "
"bd_writer counter %d, need_upgrade %d",
@@ -1807,14 +1808,14 @@ bpf_setf(struct bpf_d *d, struct bpf_program *fp, u_long cmd)
if (d->bd_bif != NULL)
BPFIF_WUNLOCK(d->bd_bif);
if (old != NULL)
- free((caddr_t)old, M_BPF);
+ free(old, M_BPF);
#ifdef BPF_JITTER
if (ofunc != NULL)
bpf_destroy_jit_filter(ofunc);
#endif
- /* Move d to active readers list */
- if (need_upgrade != 0)
+ /* Move d to active readers list. */
+ if (need_upgrade)
bpf_upgraded(d);
BPF_UNLOCK();
OpenPOWER on IntegriCloud