From: Jeff Garzik <jeff@garzik.org>
Date: Fri, 25 Apr 2008 07:11:31 +0000 (-0400)
Subject: [netdrvr] tehuti: move ioctl perm check closer to function start
X-Git-Tag: firefly_0821_release~20572^2~46^2~6
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f946dffed6334f08da065a89ed65026ebf8b33b4;p=firefly-linux-kernel-4.4.55.git

[netdrvr] tehuti: move ioctl perm check closer to function start

Noticed by davem.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---

diff --git a/drivers/net/tehuti.c b/drivers/net/tehuti.c
index d2e1b219673d..e83b166aa6b9 100644
--- a/drivers/net/tehuti.c
+++ b/drivers/net/tehuti.c
@@ -649,6 +649,9 @@ static int bdx_ioctl_priv(struct net_device *ndev, struct ifreq *ifr, int cmd)
 		DBG("%d 0x%x 0x%x\n", data[0], data[1], data[2]);
 	}
 
+	if (!capable(CAP_NET_ADMIN))
+		return -EPERM;
+
 	switch (data[0]) {
 
 	case BDX_OP_READ:
@@ -664,8 +667,6 @@ static int bdx_ioctl_priv(struct net_device *ndev, struct ifreq *ifr, int cmd)
 		break;
 
 	case BDX_OP_WRITE:
-		if (!capable(CAP_NET_ADMIN))
-			return -EPERM;
 		error = bdx_range_check(priv, data[1]);
 		if (error < 0)
 			return error;