Message ID | 20230918154015.80722-1-bpoirier@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 4e4b1798cc90e376b8b61d0098b4093898a32227 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] vxlan: Add missing entries to vxlan_get_size() | expand |
On 9/18/23 18:40, Benjamin Poirier wrote: > There are some attributes added by vxlan_fill_info() which are not > accounted for in vxlan_get_size(). Add them. > > I didn't find a way to trigger an actual problem from this miscalculation > since there is usually extra space in netlink size calculations like > if_nlmsg_size(); but maybe I just didn't search long enough. > > Fixes: 3511494ce2f3 ("vxlan: Group Policy extension") > Fixes: e1e5314de08b ("vxlan: implement GPE") > Fixes: 0ace2ca89cbd ("vxlan: Use checksum partial with remote checksum offload") > Fixes: f9c4bb0b245c ("vxlan: vni filtering support on collect metadata device") > Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com> > --- > drivers/net/vxlan/vxlan_core.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c > index e463f59e95c2..5b5597073b00 100644 > --- a/drivers/net/vxlan/vxlan_core.c > +++ b/drivers/net/vxlan/vxlan_core.c > @@ -4331,6 +4331,10 @@ static size_t vxlan_get_size(const struct net_device *dev) > nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_REMCSUM_TX */ > nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_REMCSUM_RX */ > nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_LOCALBYPASS */ > + nla_total_size(0) + /* IFLA_VXLAN_GBP */ > + nla_total_size(0) + /* IFLA_VXLAN_GPE */ > + nla_total_size(0) + /* IFLA_VXLAN_REMCSUM_NOPARTIAL */ > + nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_VNIFILTER */ > 0; > } > Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
On Mon, Sep 18, 2023 at 11:40:15AM -0400, Benjamin Poirier wrote: > There are some attributes added by vxlan_fill_info() which are not > accounted for in vxlan_get_size(). Add them. > > I didn't find a way to trigger an actual problem from this miscalculation > since there is usually extra space in netlink size calculations like > if_nlmsg_size(); but maybe I just didn't search long enough. > > Fixes: 3511494ce2f3 ("vxlan: Group Policy extension") > Fixes: e1e5314de08b ("vxlan: implement GPE") > Fixes: 0ace2ca89cbd ("vxlan: Use checksum partial with remote checksum offload") > Fixes: f9c4bb0b245c ("vxlan: vni filtering support on collect metadata device") > Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Hello: This patch was applied to netdev/net.git (main) by David S. Miller <davem@davemloft.net>: On Mon, 18 Sep 2023 11:40:15 -0400 you wrote: > There are some attributes added by vxlan_fill_info() which are not > accounted for in vxlan_get_size(). Add them. > > I didn't find a way to trigger an actual problem from this miscalculation > since there is usually extra space in netlink size calculations like > if_nlmsg_size(); but maybe I just didn't search long enough. > > [...] Here is the summary with links: - [net] vxlan: Add missing entries to vxlan_get_size() https://git.kernel.org/netdev/net/c/4e4b1798cc90 You are awesome, thank you!
diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index e463f59e95c2..5b5597073b00 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -4331,6 +4331,10 @@ static size_t vxlan_get_size(const struct net_device *dev) nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_REMCSUM_TX */ nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_REMCSUM_RX */ nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_LOCALBYPASS */ + nla_total_size(0) + /* IFLA_VXLAN_GBP */ + nla_total_size(0) + /* IFLA_VXLAN_GPE */ + nla_total_size(0) + /* IFLA_VXLAN_REMCSUM_NOPARTIAL */ + nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_VNIFILTER */ 0; }
There are some attributes added by vxlan_fill_info() which are not accounted for in vxlan_get_size(). Add them. I didn't find a way to trigger an actual problem from this miscalculation since there is usually extra space in netlink size calculations like if_nlmsg_size(); but maybe I just didn't search long enough. Fixes: 3511494ce2f3 ("vxlan: Group Policy extension") Fixes: e1e5314de08b ("vxlan: implement GPE") Fixes: 0ace2ca89cbd ("vxlan: Use checksum partial with remote checksum offload") Fixes: f9c4bb0b245c ("vxlan: vni filtering support on collect metadata device") Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com> --- drivers/net/vxlan/vxlan_core.c | 4 ++++ 1 file changed, 4 insertions(+)