Message ID | 20100209113233.GA10485@serverengines.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Ajit Khaparde <ajitkhaparde@gmail.com> Date: Tue, 9 Feb 2010 17:02:43 +0530 > Current code allows the new mtu to cross the supported value. > This patch fixes the boundary checks. > > From: Suresh R <sureshr@serverengines.com> > Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Applied to net-next-2.6 -- 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
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 1d773db..f1136a3 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c @@ -473,10 +473,12 @@ static int be_change_mtu(struct net_device *netdev, int new_mtu) { struct be_adapter *adapter = netdev_priv(netdev); if (new_mtu < BE_MIN_MTU || - new_mtu > BE_MAX_JUMBO_FRAME_SIZE) { + new_mtu > (BE_MAX_JUMBO_FRAME_SIZE - + (ETH_HLEN + ETH_FCS_LEN))) { dev_info(&adapter->pdev->dev, "MTU must be between %d and %d bytes\n", - BE_MIN_MTU, BE_MAX_JUMBO_FRAME_SIZE); + BE_MIN_MTU, + (BE_MAX_JUMBO_FRAME_SIZE - (ETH_HLEN + ETH_FCS_LEN))); return -EINVAL; } dev_info(&adapter->pdev->dev, "MTU changed from %d to %d bytes\n",