Re: [RFC] Validate ethtool autoneg before relaying
From: David Miller <davem@davemloft.net>
Date: 2008-11-27 08:07:48
From: David Miller <davem@davemloft.net>
Date: 2008-11-27 08:07:48
From: "Matt Carlson" <redacted> Date: Wed, 26 Nov 2008 15:44:06 -0800
On Wed, Nov 26, 2008 at 03:28:12PM -0800, Michael Chan wrote:quoted
On Wed, 2008-11-26 at 14:17 -0800, Matt Carlson wrote:quoted
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 14ada53..6362f56 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c@@ -164,6 +164,9 @@ static int ethtool_set_settings(struct net_device *dev, void __user *useraddr) if (copy_from_user(&cmd, useraddr, sizeof(cmd))) return -EFAULT; + if (cmd.autoneg != AUTONEG_ENABLE && cmd.autoneg != AUTONEG_DISABLE) + return -EFAULT; +Matt, you should return -EINVAL here instead.Yes. You are right. I'll fix this in a revised patch if everyone decides this is an effort worth pursuing.
I think this is a great idea, checking the validity in one spot. So please, submit a final version of these changes when you get a chance.