示例#1
0
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);
}
示例#2
0
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;
}
示例#3
0
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;
}