ANDROID: net: paranoid: Only NET_ADMIN is allowed to fully control TUN interfaces.
Signed-off-by: Chia-chi Yeh <chiachi@android.com>
This commit is contained in:
committed by
Amit Pundir
parent
336442ab5c
commit
6ac0eb6d0d
@@ -2879,6 +2879,12 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
|
|||||||
int ret;
|
int ret;
|
||||||
bool do_notify = false;
|
bool do_notify = false;
|
||||||
|
|
||||||
|
#ifdef CONFIG_ANDROID_PARANOID_NETWORK
|
||||||
|
if (cmd != TUNGETIFF && !capable(CAP_NET_ADMIN)) {
|
||||||
|
return -EPERM;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (cmd == TUNSETIFF || cmd == TUNSETQUEUE ||
|
if (cmd == TUNSETIFF || cmd == TUNSETQUEUE ||
|
||||||
(_IOC_TYPE(cmd) == SOCK_IOC_TYPE && cmd != SIOCGSKNS)) {
|
(_IOC_TYPE(cmd) == SOCK_IOC_TYPE && cmd != SIOCGSKNS)) {
|
||||||
if (copy_from_user(&ifr, argp, ifreq_len))
|
if (copy_from_user(&ifr, argp, ifreq_len))
|
||||||
|
|||||||
Reference in New Issue
Block a user