> 4.linux/2.4.3/drivers/net/ppp_async.c:345:ppp_async_ioctl
> case PPPIOCGFLAGS:
> val = ap->flags | ap->rbits;
> if (put_user(val, (int *) arg))
> break;
> err = 0;
> break;
> case PPPIOCSFLAGS:
> if (get_user(val, (int *) arg))
> break;
> ap->flags = val & ~SC_RCV_BITS;
> spin_lock_bh(&ap->recv_lock);
> ap->rbits = val & SC_RCV_BITS;
> spin_unlock_bh(&ap->recv_lock);
> err = 0;
> break;
> seems to be getting and setting some flags without CAP_NET_ADMIN like in
> ppp_synctty.c
It is OK because this is a channel ioctl routine called from
ppp_generic.c as a result of an ioctl call on /dev/ppp, and it is not
possible to open /dev/ppp unless you have CAP_NET_ADMIN.
Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/