Message ID | 20231016131259.3302298-3-idosch@nvidia.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Add MDB get support | expand |
On 10/16/23 16:12, Ido Schimmel wrote: > The 'MDBA_MDB' and 'MDBA_MDB_ENTRY' nest attributes are not accounted > for when calculating the size of MDB notifications. Add them along with > comments for existing attributes. > > Signed-off-by: Ido Schimmel <idosch@nvidia.com> > --- > net/bridge/br_mdb.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c > index fb58bb1b60e8..08de94bffc12 100644 > --- a/net/bridge/br_mdb.c > +++ b/net/bridge/br_mdb.c > @@ -452,11 +452,18 @@ static int nlmsg_populate_mdb_fill(struct sk_buff *skb, > > static size_t rtnl_mdb_nlmsg_size(struct net_bridge_port_group *pg) > { > - size_t nlmsg_size = NLMSG_ALIGN(sizeof(struct br_port_msg)) + > - nla_total_size(sizeof(struct br_mdb_entry)) + > - nla_total_size(sizeof(u32)); > struct net_bridge_group_src *ent; > - size_t addr_size = 0; > + size_t nlmsg_size, addr_size = 0; > + > + nlmsg_size = NLMSG_ALIGN(sizeof(struct br_port_msg)) + > + /* MDBA_MDB */ > + nla_total_size(0) + > + /* MDBA_MDB_ENTRY */ > + nla_total_size(0) + > + /* MDBA_MDB_ENTRY_INFO */ > + nla_total_size(sizeof(struct br_mdb_entry)) + > + /* MDBA_MDB_EATTR_TIMER */ > + nla_total_size(sizeof(u32)); > > if (!pg) > goto out; Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c index fb58bb1b60e8..08de94bffc12 100644 --- a/net/bridge/br_mdb.c +++ b/net/bridge/br_mdb.c @@ -452,11 +452,18 @@ static int nlmsg_populate_mdb_fill(struct sk_buff *skb, static size_t rtnl_mdb_nlmsg_size(struct net_bridge_port_group *pg) { - size_t nlmsg_size = NLMSG_ALIGN(sizeof(struct br_port_msg)) + - nla_total_size(sizeof(struct br_mdb_entry)) + - nla_total_size(sizeof(u32)); struct net_bridge_group_src *ent; - size_t addr_size = 0; + size_t nlmsg_size, addr_size = 0; + + nlmsg_size = NLMSG_ALIGN(sizeof(struct br_port_msg)) + + /* MDBA_MDB */ + nla_total_size(0) + + /* MDBA_MDB_ENTRY */ + nla_total_size(0) + + /* MDBA_MDB_ENTRY_INFO */ + nla_total_size(sizeof(struct br_mdb_entry)) + + /* MDBA_MDB_EATTR_TIMER */ + nla_total_size(sizeof(u32)); if (!pg) goto out;
The 'MDBA_MDB' and 'MDBA_MDB_ENTRY' nest attributes are not accounted for when calculating the size of MDB notifications. Add them along with comments for existing attributes. Signed-off-by: Ido Schimmel <idosch@nvidia.com> --- net/bridge/br_mdb.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)