Message ID | 20230726080522.1064569-1-linma@zju.edu.cn (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v1] rtnetlink: remove redundant checks for nlattr IFLA_BRIDGE_MODE | expand |
On Wed, Jul 26, 2023 at 04:05:22PM +0800, Lin Ma wrote: > The previous patch added the nla_len check in rtnl_bridge_setlink, which > is the only caller for ndo_bridge_setlink handlers defined in low-level > driver codes. Hence, this patch cleanups the redundant checks in each > ndo_bridge_setlink handler function. > > Please apply the fix discussed at the link: > https://lore.kernel.org/all/20230726075314.1059224-1-linma@zju.edu.cn/ > first before this one. FWIIW, the patch at the link above seems to be in net-next now. > > Suggested-by: Hangbin Liu <liuhangbin@gmail.com> > Signed-off-by: Lin Ma <linma@zju.edu.cn> Reviewed-by: Simon Horman <horms@kernel.org>
On Mon, 31 Jul 2023 09:16:30 +0200 Simon Horman wrote: > > Please apply the fix discussed at the link: > > https://lore.kernel.org/all/20230726075314.1059224-1-linma@zju.edu.cn/ > > first before this one. > > FWIIW, the patch at the link above seems to be in net-next now. I don't think it is..
On Mon, Jul 31, 2023 at 08:54:05AM -0700, Jakub Kicinski wrote: > On Mon, 31 Jul 2023 09:16:30 +0200 Simon Horman wrote: > > > Please apply the fix discussed at the link: > > > https://lore.kernel.org/all/20230726075314.1059224-1-linma@zju.edu.cn/ > > > first before this one. > > > > FWIIW, the patch at the link above seems to be in net-next now. > > I don't think it is..
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index e5b54e6025be..9e098c1cf1ab 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -13101,9 +13101,6 @@ static int bnxt_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh, if (nla_type(attr) != IFLA_BRIDGE_MODE) continue; - if (nla_len(attr) < sizeof(mode)) - return -EINVAL; - mode = nla_get_u16(attr); if (mode == bp->br_mode) break; diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 18c2fc880d09..e8abc43a7061 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -4985,9 +4985,6 @@ static int be_ndo_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh, if (nla_type(attr) != IFLA_BRIDGE_MODE) continue; - if (nla_len(attr) < sizeof(mode)) - return -EINVAL; - mode = nla_get_u16(attr); if (BE3_chip(adapter) && mode == BRIDGE_MODE_VEPA) return -EOPNOTSUPP; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 1726297f2e0d..d1381b1b3f3a 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -10042,9 +10042,6 @@ static int ixgbe_ndo_bridge_setlink(struct net_device *dev, if (nla_type(attr) != IFLA_BRIDGE_MODE) continue; - if (nla_len(attr) < sizeof(mode)) - return -EINVAL; - mode = nla_get_u16(attr); status = ixgbe_configure_bridge_mode(adapter, mode); if (status) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index defb1efccb78..b2df8e517a85 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -4883,9 +4883,6 @@ static int mlx5e_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh, if (nla_type(attr) != IFLA_BRIDGE_MODE) continue; - if (nla_len(attr) < sizeof(mode)) - return -EINVAL; - mode = nla_get_u16(attr); if (mode > BRIDGE_MODE_VEPA) return -EINVAL; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index 6b1fb5708434..85f36ec2f986 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -2068,9 +2068,6 @@ static int nfp_net_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh, if (nla_type(attr) != IFLA_BRIDGE_MODE) continue; - if (nla_len(attr) < sizeof(mode)) - return -EINVAL; - new_ctrl = nn->dp.ctrl; mode = nla_get_u16(attr); if (mode == BRIDGE_MODE_VEPA)
The previous patch added the nla_len check in rtnl_bridge_setlink, which is the only caller for ndo_bridge_setlink handlers defined in low-level driver codes. Hence, this patch cleanups the redundant checks in each ndo_bridge_setlink handler function. Please apply the fix discussed at the link: https://lore.kernel.org/all/20230726075314.1059224-1-linma@zju.edu.cn/ first before this one. Suggested-by: Hangbin Liu <liuhangbin@gmail.com> Signed-off-by: Lin Ma <linma@zju.edu.cn> --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 --- drivers/net/ethernet/emulex/benet/be_main.c | 3 --- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 --- drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 3 --- 5 files changed, 15 deletions(-)