sbni: missing capability checks in sbni_ioctl()
Subsystems (2)
PATCH 1/1 sbni: missing capability checks in sbni_ioctl()
This requires proper capability checks for the privileged operations.
Signed-off-by Eugene Teo <[email protected]>
--- drivers/net/wan/sbni.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/net/wan/sbni.c +4 -4
@@ -1317,7 +1317,7 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )break ;case SIOCDEVRESINSTATS : -if ( current->euid !=0 )/* root only */ +if (!capable (CAP_NET_ADMIN ))return -EPERM ;memset ( &nl->in_stats,0 ,sizeof (struct sbni_in_stats ) );break ;
@@ -1334,7 +1334,7 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )break ;case SIOCDEVSHWSTATE : -if ( current->euid !=0 )/* root only */ +if (!capable (CAP_NET_ADMIN ))return -EPERM ;spin_lock ( &nl->lock );
@@ -1355,7 +1355,7 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )#ifdef CONFIG_SBNI_MULTILINE case SIOCDEVENSLAVE : -if ( current->euid !=0 )/* root only */ +if (!capable (CAP_NET_ADMIN ))return -EPERM ;if (copy_from_user ( slave_name, ifr->ifr_data,sizeof slave_name ))
@@ -1370,7 +1370,7 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )return enslave ( dev, slave_dev );case SIOCDEVEMANSIPATE : -if ( current->euid !=0 )/* root only */ +if (!capable (CAP_NET_ADMIN ))return -EPERM ;return emancipate ( dev );