Message ID | 1429024817-21561-5-git-send-email-honli@redhat.com (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
On Tue, Apr 14, 2015 at 11:20:17PM +0800, Honggang Li wrote: > 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; > } I would expect some explanation why you believe that any of those pointers can be NULL. Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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)
Signed-off-by: Honggang Li <honli@redhat.com> --- net/dsa/slave.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)