Patchwork tun: Return -EINVAL if neither IFF_TUN nor IFF_TAP is set.

login
register
mail settings
Submitter Kusanagi Kouichi
Date Sept. 17, 2009, 7:36 a.m.
Message ID <20090917073614.15217260031@msa105lp.auone-net.jp>
Download mbox | patch
Permalink /patch/33761/
State Accepted
Delegated to: David Miller
Headers show

Comments

Kusanagi Kouichi - Sept. 17, 2009, 7:36 a.m.
After commit 2b980dbd77d229eb60588802162c9659726b11f4
("lsm: Add hooks to the TUN driver") tun_set_iff doesn't
return -EINVAL though neither IFF_TUN nor IFF_TAP is set.

Signed-off-by: Kusanagi Kouichi <slash@ma.neweb.ne.jp>
---
 drivers/net/tun.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)
Paul Moore - Sept. 18, 2009, 11:54 a.m.
On Thursday 17 September 2009 03:36:13 am Kusanagi Kouichi wrote:
> After commit 2b980dbd77d229eb60588802162c9659726b11f4
> ("lsm: Add hooks to the TUN driver") tun_set_iff doesn't
> return -EINVAL though neither IFF_TUN nor IFF_TAP is set.
> 
> Signed-off-by: Kusanagi Kouichi <slash@ma.neweb.ne.jp>

Sorry about that, my mistake, thanks for finding and fixing this.

Reviewed-by: Paul Moore <paul.moore@hp.com>

> ---
>  drivers/net/tun.c |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index 3f5d288..e091756 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -946,8 +946,6 @@ static int tun_set_iff(struct net *net, struct file
>  *file, struct ifreq *ifr) char *name;
>  		unsigned long flags = 0;
> 
> -		err = -EINVAL;
> -
>  		if (!capable(CAP_NET_ADMIN))
>  			return -EPERM;
>  		err = security_tun_dev_create();
> @@ -964,7 +962,7 @@ static int tun_set_iff(struct net *net, struct file
>  *file, struct ifreq *ifr) flags |= TUN_TAP_DEV;
>  			name = "tap%d";
>  		} else
> -			goto failed;
> +			return -EINVAL;
> 
>  		if (*ifr->ifr_name)
>  			name = ifr->ifr_name;
>
David Miller - Sept. 22, 2009, 9:26 p.m.
From: Paul Moore <paul.moore@hp.com>
Date: Fri, 18 Sep 2009 07:54:05 -0400

> On Thursday 17 September 2009 03:36:13 am Kusanagi Kouichi wrote:
>> After commit 2b980dbd77d229eb60588802162c9659726b11f4
>> ("lsm: Add hooks to the TUN driver") tun_set_iff doesn't
>> return -EINVAL though neither IFF_TUN nor IFF_TAP is set.
>> 
>> Signed-off-by: Kusanagi Kouichi <slash@ma.neweb.ne.jp>
> 
> Sorry about that, my mistake, thanks for finding and fixing this.
> 
> Reviewed-by: Paul Moore <paul.moore@hp.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 3f5d288..e091756 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -946,8 +946,6 @@  static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
 		char *name;
 		unsigned long flags = 0;
 
-		err = -EINVAL;
-
 		if (!capable(CAP_NET_ADMIN))
 			return -EPERM;
 		err = security_tun_dev_create();
@@ -964,7 +962,7 @@  static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr)
 			flags |= TUN_TAP_DEV;
 			name = "tap%d";
 		} else
-			goto failed;
+			return -EINVAL;
 
 		if (*ifr->ifr_name)
 			name = ifr->ifr_name;