#include <linux/capability.h>
#include <linux/compat.h>
#include <linux/kernel.h>
#include <linux/if_bridge.h>
#include <linux/netdevice.h>
#include <linux/slab.h>
#include <linux/times.h>
#include <net/net_namespace.h>
#include <linux/uaccess.h>
#include "br_private.h"
static int get_bridge_ifindices(struct net *net, int *indices, int num)
{ … }
static void get_port_ifindices(struct net_bridge *br, int *ifindices, int num)
{ … }
static int get_fdb_entries(struct net_bridge *br, void __user *userbuf,
unsigned long maxnum, unsigned long offset)
{ … }
static int add_del_if(struct net_bridge *br, int ifindex, int isadd)
{ … }
#define BR_UARGS_MAX …
static int br_dev_read_uargs(unsigned long *args, size_t nr_args,
void __user **argp, void __user *data)
{ … }
int br_dev_siocdevprivate(struct net_device *dev, struct ifreq *rq,
void __user *data, int cmd)
{ … }
static int old_deviceless(struct net *net, void __user *data)
{ … }
int br_ioctl_stub(struct net *net, struct net_bridge *br, unsigned int cmd,
struct ifreq *ifr, void __user *uarg)
{ … }