Module Name: src Committed By: riastradh Date: Thu Aug 15 11:23:39 UTC 2024
Modified Files: src/sys/net: bpf.c Log Message: bpf(4): KNF whitespace fixes. No functional change intended. Preparation for: kern/58596: bpf(4) MP-safety issues To generate a diff of this commit: cvs rdiff -u -r1.254 -r1.255 src/sys/net/bpf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/bpf.c diff -u src/sys/net/bpf.c:1.254 src/sys/net/bpf.c:1.255 --- src/sys/net/bpf.c:1.254 Thu Aug 15 11:23:29 2024 +++ src/sys/net/bpf.c Thu Aug 15 11:23:39 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: bpf.c,v 1.254 2024/08/15 11:23:29 riastradh Exp $ */ +/* $NetBSD: bpf.c,v 1.255 2024/08/15 11:23:39 riastradh Exp $ */ /* * Copyright (c) 1990, 1991, 1993 @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bpf.c,v 1.254 2024/08/15 11:23:29 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bpf.c,v 1.255 2024/08/15 11:23:39 riastradh Exp $"); #if defined(_KERNEL_OPT) #include "opt_bpf.h" @@ -185,10 +185,10 @@ static struct pslist_head bpf_dlist; PSLIST_WRITER_INSERT_HEAD(&bpf_dlist, (__d), bd_bpf_dlist_entry) #define BPF_DLIST_READER_FOREACH(__d) \ PSLIST_READER_FOREACH((__d), &bpf_dlist, struct bpf_d, \ - bd_bpf_dlist_entry) + bd_bpf_dlist_entry) #define BPF_DLIST_WRITER_FOREACH(__d) \ PSLIST_WRITER_FOREACH((__d), &bpf_dlist, struct bpf_d, \ - bd_bpf_dlist_entry) + bd_bpf_dlist_entry) #define BPF_DLIST_ENTRY_INIT(__d) \ PSLIST_ENTRY_INIT((__d), bd_bpf_dlist_entry) #define BPF_DLIST_WRITER_REMOVE(__d) \ @@ -201,10 +201,10 @@ static struct pslist_head bpf_dlist; PSLIST_WRITER_INSERT_HEAD(&bpf_iflist, (__bp), bif_iflist_entry) #define BPF_IFLIST_READER_FOREACH(__bp) \ PSLIST_READER_FOREACH((__bp), &bpf_iflist, struct bpf_if, \ - bif_iflist_entry) + bif_iflist_entry) #define BPF_IFLIST_WRITER_FOREACH(__bp) \ PSLIST_WRITER_FOREACH((__bp), &bpf_iflist, struct bpf_if, \ - bif_iflist_entry) + bif_iflist_entry) #define BPF_IFLIST_WRITER_REMOVE(__bp) \ PSLIST_WRITER_REMOVE((__bp), bif_iflist_entry) #define BPF_IFLIST_ENTRY_INIT(__bp) \ @@ -215,35 +215,35 @@ static struct pslist_head bpf_dlist; /* Macros for bpf_d on bpf_if#bif_dlist_pslist */ #define BPFIF_DLIST_READER_FOREACH(__d, __bp) \ PSLIST_READER_FOREACH((__d), &(__bp)->bif_dlist_head, struct bpf_d, \ - bd_bif_dlist_entry) + bd_bif_dlist_entry) #define BPFIF_DLIST_WRITER_INSERT_HEAD(__bp, __d) \ PSLIST_WRITER_INSERT_HEAD(&(__bp)->bif_dlist_head, (__d), \ - bd_bif_dlist_entry) + bd_bif_dlist_entry) #define BPFIF_DLIST_WRITER_REMOVE(__d) \ PSLIST_WRITER_REMOVE((__d), bd_bif_dlist_entry) #define BPFIF_DLIST_ENTRY_INIT(__d) \ PSLIST_ENTRY_INIT((__d), bd_bif_dlist_entry) #define BPFIF_DLIST_READER_EMPTY(__bp) \ (PSLIST_READER_FIRST(&(__bp)->bif_dlist_head, struct bpf_d, \ - bd_bif_dlist_entry) == NULL) + bd_bif_dlist_entry) == NULL) #define BPFIF_DLIST_WRITER_EMPTY(__bp) \ (PSLIST_WRITER_FIRST(&(__bp)->bif_dlist_head, struct bpf_d, \ - bd_bif_dlist_entry) == NULL) + bd_bif_dlist_entry) == NULL) #define BPFIF_DLIST_ENTRY_DESTROY(__d) \ PSLIST_ENTRY_DESTROY((__d), bd_bif_dlist_entry) static int bpf_allocbufs(struct bpf_d *); static u_int bpf_xfilter(struct bpf_filter **, void *, u_int, u_int); static void bpf_deliver(struct bpf_if *, - void *(*cpfn)(void *, const void *, size_t), - void *, u_int, u_int, const u_int); + void *(*cpfn)(void *, const void *, size_t), + void *, u_int, u_int, const u_int); static void bpf_freed(struct bpf_d *); static void bpf_free_filter(struct bpf_filter *); static void bpf_ifname(struct ifnet *, struct ifreq *); static void *bpf_mcpy(void *, const void *, size_t); static int bpf_movein(struct ifnet *, struct uio *, int, uint64_t, - struct mbuf **, struct sockaddr *, - struct bpf_filter **); + struct mbuf **, struct sockaddr *, + struct bpf_filter **); static void bpf_attachd(struct bpf_d *, struct bpf_if *); static void bpf_detachd(struct bpf_d *); static int bpf_setif(struct bpf_d *, struct ifreq *); @@ -253,15 +253,16 @@ static inline void bpf_wakeup(struct bpf_d *); static int bpf_hdrlen(struct bpf_d *); static void catchpacket(struct bpf_d *, u_char *, u_int, u_int, - void *(*)(void *, const void *, size_t), struct timespec *); + void *(*)(void *, const void *, size_t), + struct timespec *); static void reset_d(struct bpf_d *); static int bpf_getdltlist(struct bpf_d *, struct bpf_dltlist *); static int bpf_setdlt(struct bpf_d *, u_int); static int bpf_read(struct file *, off_t *, struct uio *, kauth_cred_t, - int); + int); static int bpf_write(struct file *, off_t *, struct uio *, kauth_cred_t, - int); + int); static int bpf_ioctl(struct file *, u_long, void *); static int bpf_poll(struct file *, int); static int bpf_stat(struct file *, struct stat *); @@ -320,8 +321,8 @@ bpf_jit_freecode(bpfjit_func_t jcode) } static int -bpf_movein(struct ifnet *ifp, struct uio *uio, int linktype, uint64_t mtu, struct mbuf **mp, - struct sockaddr *sockp, struct bpf_filter **wfilter) +bpf_movein(struct ifnet *ifp, struct uio *uio, int linktype, uint64_t mtu, + struct mbuf **mp, struct sockaddr *sockp, struct bpf_filter **wfilter) { struct mbuf *m, *m0, *n; int error; @@ -785,7 +786,6 @@ out: return (error); } - /* * If there are processes sleeping on this descriptor, wake them up. */ @@ -816,7 +816,6 @@ bpf_timed_out(void *arg) mutex_exit(d->bd_mtx); } - static int bpf_write(struct file *fp, off_t *offp, struct uio *uio, kauth_cred_t cred, int flags) @@ -862,7 +861,7 @@ bpf_write(struct file *fp, off_t *offp, } error = bpf_movein(ifp, uio, (int)bp->bif_dlt, ifp->if_mtu, &m, - (struct sockaddr *) &dst, &d->bd_wfilter); + (struct sockaddr *) &dst, &d->bd_wfilter); if (error) goto out; @@ -887,7 +886,7 @@ bpf_write(struct file *fp, off_t *offp, /* Set M_PROMISC for outgoing packets to be discarded. */ if (1 /*d->bd_direction == BPF_D_INOUT*/) m->m_flags |= M_PROMISC; - } else + } else mc = NULL; error = if_output_lock(ifp, ifp, m, (struct sockaddr *) &dst, NULL); @@ -1012,19 +1011,18 @@ bpf_ioctl(struct file *fp, u_long cmd, v /* * Check for read packet available. */ - case FIONREAD: - { - int n; + case FIONREAD: { + int n; - mutex_enter(d->bd_buf_mtx); - n = d->bd_slen; - if (d->bd_hbuf) - n += d->bd_hlen; - mutex_exit(d->bd_buf_mtx); + mutex_enter(d->bd_buf_mtx); + n = d->bd_slen; + if (d->bd_hbuf) + n += d->bd_hlen; + mutex_exit(d->bd_buf_mtx); - *(int *)addr = n; - break; - } + *(int *)addr = n; + break; + } /* * Get buffer len [for read()]. @@ -1170,97 +1168,89 @@ bpf_ioctl(struct file *fp, u_long cmd, v /* * Set read timeout. */ - case BIOCSRTIMEOUT: - { - struct timeval *tv = addr; - - /* Compute number of ticks. */ - if (tv->tv_sec < 0 || - tv->tv_usec < 0 || tv->tv_usec >= 1000000) { - error = EINVAL; - break; - } else if (tv->tv_sec > INT_MAX/hz - 1) { - d->bd_rtout = INT_MAX; - } else { - d->bd_rtout = tv->tv_sec * hz - + tv->tv_usec / tick; - } - if ((d->bd_rtout == 0) && (tv->tv_usec != 0)) - d->bd_rtout = 1; + case BIOCSRTIMEOUT: { + struct timeval *tv = addr; + + /* Compute number of ticks. */ + if (tv->tv_sec < 0 || + tv->tv_usec < 0 || tv->tv_usec >= 1000000) { + error = EINVAL; break; + } else if (tv->tv_sec > INT_MAX/hz - 1) { + d->bd_rtout = INT_MAX; + } else { + d->bd_rtout = tv->tv_sec * hz + tv->tv_usec / tick; } + if ((d->bd_rtout == 0) && (tv->tv_usec != 0)) + d->bd_rtout = 1; + break; + } #ifdef BIOCGORTIMEOUT /* * Get read timeout. */ - case BIOCGORTIMEOUT: - { - struct timeval50 *tv = addr; + case BIOCGORTIMEOUT: { + struct timeval50 *tv = addr; - tv->tv_sec = d->bd_rtout / hz; - tv->tv_usec = (d->bd_rtout % hz) * tick; - break; - } + tv->tv_sec = d->bd_rtout / hz; + tv->tv_usec = (d->bd_rtout % hz) * tick; + break; + } #endif #ifdef BIOCSORTIMEOUT /* * Set read timeout. */ - case BIOCSORTIMEOUT: - { - struct timeval50 *tv = addr; - - /* Compute number of ticks. */ - if (tv->tv_sec < 0 || - tv->tv_usec < 0 || tv->tv_usec >= 1000000) { - error = EINVAL; - break; - } else if (tv->tv_sec > INT_MAX/hz - 1) { - d->bd_rtout = INT_MAX; - } else { - d->bd_rtout = tv->tv_sec * hz - + tv->tv_usec / tick; - } - if ((d->bd_rtout == 0) && (tv->tv_usec != 0)) - d->bd_rtout = 1; + case BIOCSORTIMEOUT: { + struct timeval50 *tv = addr; + + /* Compute number of ticks. */ + if (tv->tv_sec < 0 || + tv->tv_usec < 0 || tv->tv_usec >= 1000000) { + error = EINVAL; break; + } else if (tv->tv_sec > INT_MAX/hz - 1) { + d->bd_rtout = INT_MAX; + } else { + d->bd_rtout = tv->tv_sec * hz + tv->tv_usec / tick; } + if ((d->bd_rtout == 0) && (tv->tv_usec != 0)) + d->bd_rtout = 1; + break; + } #endif /* * Get read timeout. */ - case BIOCGRTIMEOUT: - { - struct timeval *tv = addr; + case BIOCGRTIMEOUT: { + struct timeval *tv = addr; - tv->tv_sec = d->bd_rtout / hz; - tv->tv_usec = (d->bd_rtout % hz) * tick; - break; - } + tv->tv_sec = d->bd_rtout / hz; + tv->tv_usec = (d->bd_rtout % hz) * tick; + break; + } /* * Get packet stats. */ - case BIOCGSTATS: - { - struct bpf_stat *bs = addr; - - bs->bs_recv = d->bd_rcount; - bs->bs_drop = d->bd_dcount; - bs->bs_capt = d->bd_ccount; - break; - } + case BIOCGSTATS: { + struct bpf_stat *bs = addr; - case BIOCGSTATS_30: - { - struct bpf_stat30 *bs = addr; + bs->bs_recv = d->bd_rcount; + bs->bs_drop = d->bd_dcount; + bs->bs_capt = d->bd_ccount; + break; + } - bs->bs_recv = d->bd_rcount; - bs->bs_drop = d->bd_dcount; - break; - } + case BIOCGSTATS_30: { + struct bpf_stat30 *bs = addr; + + bs->bs_recv = d->bd_rcount; + bs->bs_drop = d->bd_dcount; + break; + } /* * Set immediate mode. @@ -1269,14 +1259,13 @@ bpf_ioctl(struct file *fp, u_long cmd, v d->bd_immediate = *(u_int *)addr; break; - case BIOCVERSION: - { - struct bpf_version *bv = addr; + case BIOCVERSION: { + struct bpf_version *bv = addr; - bv->bv_major = BPF_MAJOR_VERSION; - bv->bv_minor = BPF_MINOR_VERSION; - break; - } + bv->bv_major = BPF_MAJOR_VERSION; + bv->bv_minor = BPF_MINOR_VERSION; + break; + } case BIOCGHDRCMPLT: /* get "header already complete" flag */ *(u_int *)addr = d->bd_hdrcmplt; @@ -1296,22 +1285,21 @@ bpf_ioctl(struct file *fp, u_long cmd, v /* * Set packet direction flag */ - case BIOCSDIRECTION: - { - u_int direction; - - direction = *(u_int *)addr; - switch (direction) { - case BPF_D_IN: - case BPF_D_INOUT: - case BPF_D_OUT: - d->bd_direction = direction; - break; - default: - error = EINVAL; - } + case BIOCSDIRECTION: { + u_int direction; + + direction = *(u_int *)addr; + switch (direction) { + case BPF_D_IN: + case BPF_D_INOUT: + case BPF_D_OUT: + d->bd_direction = direction; + break; + default: + error = EINVAL; } - break; + } + break; /* * Set "feed packets from bpf back to input" mode @@ -1448,9 +1436,9 @@ bpf_setif(struct bpf_d *d, struct ifreq /* Make sure to leave room for the '\0'. */ for (i = 0; i < (IFNAMSIZ - 1); ++i) { if ((ifr->ifr_name[i] >= 'a' && - ifr->ifr_name[i] <= 'z') || + ifr->ifr_name[i] <= 'z') || (ifr->ifr_name[i] >= 'A' && - ifr->ifr_name[i] <= 'Z')) + ifr->ifr_name[i] <= 'Z')) continue; ifr->ifr_name[i] = '0'; } @@ -1558,14 +1546,14 @@ bpf_poll(struct file *fp, int events) mutex_enter(d->bd_mtx); if (d->bd_hlen != 0 || ((d->bd_immediate || d->bd_state == BPF_TIMED_OUT) && - d->bd_slen != 0)) { + d->bd_slen != 0)) { revents |= events & (POLLIN | POLLRDNORM); } else { selrecord(curlwp, &d->bd_sel); /* Start the read timeout if necessary */ if (d->bd_rtout > 0 && d->bd_state == BPF_IDLE) { callout_reset(&d->bd_callout, d->bd_rtout, - bpf_timed_out, d); + bpf_timed_out, d); d->bd_state = BPF_WAITING; } } @@ -1745,7 +1733,7 @@ bpf_deliver(struct bpf_if *bp, void *(*c */ static void _bpf_mtap2(struct bpf_if *bp, void *data, u_int dlen, struct mbuf *m, - u_int direction) + u_int direction) { u_int pktlen; struct mbuf mb; @@ -2231,7 +2219,7 @@ _bpfdetach(struct ifnet *ifp) mutex_enter(&bpf_mtx); /* Nuke the vnodes for any open instances */ - again_d: +again_d: BPF_DLIST_WRITER_FOREACH(d) { mutex_enter(d->bd_mtx); if (d->bd_bif != NULL && d->bd_bif->bif_ifp == ifp) { @@ -2246,7 +2234,7 @@ _bpfdetach(struct ifnet *ifp) mutex_exit(d->bd_mtx); } - again: +again: BPF_IFLIST_WRITER_FOREACH(bp) { if (bp->bif_ifp == ifp) { BPF_IFLIST_WRITER_REMOVE(bp); @@ -2553,45 +2541,45 @@ SYSCTL_SETUP(sysctl_net_bpf_setup, "bpf node = NULL; sysctl_createv(clog, 0, NULL, &node, - CTLFLAG_PERMANENT, - CTLTYPE_NODE, "bpf", - SYSCTL_DESCR("BPF options"), - NULL, 0, NULL, 0, - CTL_NET, CTL_CREATE, CTL_EOL); + CTLFLAG_PERMANENT, + CTLTYPE_NODE, "bpf", + SYSCTL_DESCR("BPF options"), + NULL, 0, NULL, 0, + CTL_NET, CTL_CREATE, CTL_EOL); if (node != NULL) { #if defined(MODULAR) || defined(BPFJIT) sysctl_createv(clog, 0, NULL, NULL, - CTLFLAG_PERMANENT|CTLFLAG_READWRITE, - CTLTYPE_BOOL, "jit", - SYSCTL_DESCR("Toggle Just-In-Time compilation"), - sysctl_net_bpf_jit, 0, &bpf_jit, 0, - CTL_NET, node->sysctl_num, CTL_CREATE, CTL_EOL); + CTLFLAG_PERMANENT|CTLFLAG_READWRITE, + CTLTYPE_BOOL, "jit", + SYSCTL_DESCR("Toggle Just-In-Time compilation"), + sysctl_net_bpf_jit, 0, &bpf_jit, 0, + CTL_NET, node->sysctl_num, CTL_CREATE, CTL_EOL); #endif sysctl_createv(clog, 0, NULL, NULL, - CTLFLAG_PERMANENT|CTLFLAG_READWRITE, - CTLTYPE_INT, "maxbufsize", - SYSCTL_DESCR("Maximum size for data capture buffer"), - sysctl_net_bpf_maxbufsize, 0, &bpf_maxbufsize, 0, - CTL_NET, node->sysctl_num, CTL_CREATE, CTL_EOL); + CTLFLAG_PERMANENT|CTLFLAG_READWRITE, + CTLTYPE_INT, "maxbufsize", + SYSCTL_DESCR("Maximum size for data capture buffer"), + sysctl_net_bpf_maxbufsize, 0, &bpf_maxbufsize, 0, + CTL_NET, node->sysctl_num, CTL_CREATE, CTL_EOL); sysctl_createv(clog, 0, NULL, NULL, - CTLFLAG_PERMANENT, - CTLTYPE_STRUCT, "stats", - SYSCTL_DESCR("BPF stats"), - bpf_sysctl_gstats_handler, 0, NULL, 0, - CTL_NET, node->sysctl_num, CTL_CREATE, CTL_EOL); + CTLFLAG_PERMANENT, + CTLTYPE_STRUCT, "stats", + SYSCTL_DESCR("BPF stats"), + bpf_sysctl_gstats_handler, 0, NULL, 0, + CTL_NET, node->sysctl_num, CTL_CREATE, CTL_EOL); sysctl_createv(clog, 0, NULL, NULL, - CTLFLAG_PERMANENT, - CTLTYPE_STRUCT, "peers", - SYSCTL_DESCR("BPF peers"), - sysctl_net_bpf_peers, 0, NULL, 0, - CTL_NET, node->sysctl_num, CTL_CREATE, CTL_EOL); + CTLFLAG_PERMANENT, + CTLTYPE_STRUCT, "peers", + SYSCTL_DESCR("BPF peers"), + sysctl_net_bpf_peers, 0, NULL, 0, + CTL_NET, node->sysctl_num, CTL_CREATE, CTL_EOL); } } static int _bpf_register_track_event(struct bpf_if **driverp, - void (*_fun)(struct bpf_if *, struct ifnet *, int, int)) + void (*_fun)(struct bpf_if *, struct ifnet *, int, int)) { struct bpf_if *bp; struct bpf_event_tracker *t; @@ -2617,7 +2605,7 @@ _bpf_register_track_event(struct bpf_if static int _bpf_deregister_track_event(struct bpf_if **driverp, - void (*_fun)(struct bpf_if *, struct ifnet *, int, int)) + void (*_fun)(struct bpf_if *, struct ifnet *, int, int)) { struct bpf_if *bp; struct bpf_event_tracker *t = NULL; @@ -2692,10 +2680,10 @@ bpf_modcmd(modcmd_t cmd, void *arg) case MODULE_CMD_FINI: /* * While there is no reference counting for bpf callers, - * unload could at least in theory be done similarly to + * unload could at least in theory be done similarly to * system call disestablishment. This should even be * a little simpler: - * + * * 1) replace op vector with stubs * 2) post update to all cpus with xc * 3) check that nobody is in bpf anymore