diff --git a/[refs] b/[refs] index a15ac5898309..740253582382 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d299cd51166c156c77250f4cdd6363b74fd2f77e +refs/heads/master: 5149ee58385bdfef260fb07a89a8ff0913be6b25 diff --git a/trunk/drivers/net/team/team.c b/trunk/drivers/net/team/team.c index 343f4ffaf8f0..dea2d8afa2f4 100644 --- a/trunk/drivers/net/team/team.c +++ b/trunk/drivers/net/team/team.c @@ -793,7 +793,8 @@ static int team_port_add(struct team *team, struct net_device *port_dev) return -EBUSY; } - port = kzalloc(sizeof(struct team_port), GFP_KERNEL); + port = kzalloc(sizeof(struct team_port) + team->mode->port_priv_size, + GFP_KERNEL); if (!port) return -ENOMEM; diff --git a/trunk/include/linux/if_team.h b/trunk/include/linux/if_team.h index d45fcd5a188d..54af95f5d58b 100644 --- a/trunk/include/linux/if_team.h +++ b/trunk/include/linux/if_team.h @@ -61,6 +61,7 @@ struct team_port { } orig; struct rcu_head rcu; + long mode_priv[0]; }; struct team_mode_ops { @@ -108,6 +109,7 @@ struct team_mode { const char *kind; struct module *owner; size_t priv_size; + size_t port_priv_size; const struct team_mode_ops *ops; };