[PATCH linux-next 4/4] net/dsa: fix possible NULL pointer dereference in dsa_slave_get_iflink

Honggang Li
2015-04-14T15:22:15Z

Signed-off-by: Honggang Li <honli@redhat.com>
---
net/dsa/slave.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index 827cda56..070b599 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -59,7 +59,10 @@ static int dsa_slave_get_iflink(const struct net_device *dev)
{
struct dsa_slave_priv *p = netdev_priv(dev);

- return p->parent->dst->master_netdev->ifindex;
+ if (p && p->parent && p->parent->dst && p->parent->dst->master_netdev)
+ return p->parent->dst->master_netdev->ifindex;
+ else
+ return 0;
}

static inline bool dsa_port_is_bridged(struct dsa_slave_priv *p)
--
1.8.3.1