diff --git a/drivers/net/tun.c b/drivers/net/tun.c index f0db770e8b2f9655be8d3c3000a9395f945284e2..88bb8cc3555b8c8197d7993a2a9c338ddab8e8b1 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -1095,6 +1095,9 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile, u32 rxhash; ssize_t n; + if (!(tun->dev->flags & IFF_UP)) + return -EIO; + if (!(tun->flags & IFF_NO_PI)) { if (len < sizeof(pi)) return -EINVAL;