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

Guenter Roeck
2015-04-14T15:56:35Z

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