int br_ioctl(struct net_bridge *br, unsigned int cmd, unsigned long arg0, unsigned long arg1, unsigned long arg2) { if (!capable(CAP_NET_ADMIN)) return -EPERM; ASSERT_RTNL(); return br_ioctl_device(br, cmd, arg0, arg1, arg2); }
int br_ioctl(struct net_bridge *br, unsigned int cmd, unsigned long arg0, unsigned long arg1, unsigned long arg2) { int err; if (!capable(CAP_NET_ADMIN)) return -EPERM; down(&ioctl_mutex); err = br_ioctl_deviceless(cmd, arg0, arg1); if (err == -EOPNOTSUPP) err = br_ioctl_device(br, cmd, arg0, arg1, arg2); up(&ioctl_mutex); return err; }
int br_ioctl(struct net_bridge *br, unsigned int cmd, unsigned long arg0, unsigned long arg1, unsigned long arg2) { int err; if (!capable(CAP_NET_ADMIN)) return -EPERM; down(&ioctl_mutex); err = br_ioctl_deviceless(cmd, arg0, arg1); //printk("deviceless - %d %d\n", cmd, err); if (err == -EOPNOTSUPP) err = br_ioctl_device(br, cmd, arg0, arg1, arg2); // 0609 debug if(err != 0) { printk("br ioctl error %u %lu %lu %lu\n", cmd, arg0, arg1, arg2); } up(&ioctl_mutex); return err; }