mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-16 09:13:55 +08:00
net: bridge: fix ioctl old_deviceless bridge argument
Commitad2f99aedf
("net: bridge: move bridge ioctls out of .ndo_do_ioctl") changed the source of the argument copy in bridge's old_deviceless() from args[1] (user ptr to device name) to uarg (ptr to ioctl arguments) causing wrong device name to be used. Example (broken, bridge exists but is up): $ brctl delbr bridge bridge bridge doesn't exist; can't delete it Example (working): $ brctl delbr bridge bridge bridge is still up; can't delete it Fixes:ad2f99aedf
("net: bridge: move bridge ioctls out of .ndo_do_ioctl") Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
893b195875
commit
cbd7ad29a5
@ -351,7 +351,7 @@ static int old_deviceless(struct net *net, void __user *uarg)
|
|||||||
if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
|
if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
||||||
if (copy_from_user(buf, uarg, IFNAMSIZ))
|
if (copy_from_user(buf, (void __user *)args[1], IFNAMSIZ))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
buf[IFNAMSIZ-1] = 0;
|
buf[IFNAMSIZ-1] = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user