[PATCH net-next] net: bridge: switchdev: check br_vlan_group() return value

Clément Léger posted 1 patch 4 years ago
net/bridge/br_switchdev.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH net-next] net: bridge: switchdev: check br_vlan_group() return value
Posted by Clément Léger 4 years ago
br_vlan_group() can return NULL and thus return value must be checked
to avoid dereferencing a NULL pointer.

Fixes: 6284c723d9b9 ("net: bridge: mst: Notify switchdev drivers of VLAN MSTI migrations")
Signed-off-by: Clément Léger <clement.leger@bootlin.com>
---
 net/bridge/br_switchdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/bridge/br_switchdev.c b/net/bridge/br_switchdev.c
index 81400e0b26ac..8f3d76c751dd 100644
--- a/net/bridge/br_switchdev.c
+++ b/net/bridge/br_switchdev.c
@@ -354,6 +354,8 @@ static int br_switchdev_vlan_attr_replay(struct net_device *br_dev,
 	attr.orig_dev = br_dev;
 
 	vg = br_vlan_group(br);
+	if (!vg)
+		return 0;
 
 	list_for_each_entry(v, &vg->vlan_list, vlist) {
 		if (v->msti) {
-- 
2.34.1

Re: [PATCH net-next] net: bridge: switchdev: check br_vlan_group() return value
Posted by Nikolay Aleksandrov 4 years ago
On 21/04/2022 13:12, Clément Léger wrote:
> br_vlan_group() can return NULL and thus return value must be checked
> to avoid dereferencing a NULL pointer.
> 
> Fixes: 6284c723d9b9 ("net: bridge: mst: Notify switchdev drivers of VLAN MSTI migrations")
> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
> ---
>  net/bridge/br_switchdev.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/net/bridge/br_switchdev.c b/net/bridge/br_switchdev.c
> index 81400e0b26ac..8f3d76c751dd 100644
> --- a/net/bridge/br_switchdev.c
> +++ b/net/bridge/br_switchdev.c
> @@ -354,6 +354,8 @@ static int br_switchdev_vlan_attr_replay(struct net_device *br_dev,
>  	attr.orig_dev = br_dev;
>  
>  	vg = br_vlan_group(br);
> +	if (!vg)
> +		return 0;
>  
>  	list_for_each_entry(v, &vg->vlan_list, vlist) {
>  		if (v->msti) {


Good catch.
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Re: [PATCH net-next] net: bridge: switchdev: check br_vlan_group() return value
Posted by Jakub Kicinski 4 years ago
On Thu, 21 Apr 2022 13:17:51 +0300 Nikolay Aleksandrov wrote:
> On 21/04/2022 13:12, Clément Léger wrote:
> > br_vlan_group() can return NULL and thus return value must be checked
> > to avoid dereferencing a NULL pointer.
> > 
> > Fixes: 6284c723d9b9 ("net: bridge: mst: Notify switchdev drivers of VLAN MSTI migrations")
> > Signed-off-by: Clément Léger <clement.leger@bootlin.com>
> > ---
> >  net/bridge/br_switchdev.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/net/bridge/br_switchdev.c b/net/bridge/br_switchdev.c
> > index 81400e0b26ac..8f3d76c751dd 100644
> > --- a/net/bridge/br_switchdev.c
> > +++ b/net/bridge/br_switchdev.c
> > @@ -354,6 +354,8 @@ static int br_switchdev_vlan_attr_replay(struct net_device *br_dev,
> >  	attr.orig_dev = br_dev;
> >  
> >  	vg = br_vlan_group(br);
> > +	if (!vg)
> > +		return 0;
> >  
> >  	list_for_each_entry(v, &vg->vlan_list, vlist) {
> >  		if (v->msti) {  
> 
> Acked-by: Nikolay Aleksandrov <razor@blackwall.org>

Thanks! Applying to net tho, the patch in question is already 
in Linus's tree.