[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140902.115215.1488500321662046816.davem@davemloft.net>
Date: Tue, 02 Sep 2014 11:52:15 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: harish_kandiga@...tor.com
Cc: dborkman@...hat.com, tgraf@...g.ch, ebiederm@...ssion.com,
darkjames-ws@...kjames.pl, rgb@...hat.com, eric.dumazet@...il.com,
stephen@...workplumber.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] netlink: Safer deletion of sk_bind_node
From: Harish Jenny Kandiga Nagaraj <harish_kandiga@...tor.com>
Date: Tue, 2 Sep 2014 14:14:38 +0530
> In one of our random test runs we observed the crash mentioned in the previous mail.
>
> After debugging we found out that the call flow of the inline and static functions were
> netlink_release
> -----netlink_remove
> ---------__sk_del_bind_node
> --------------__hlist_del
>
> *pprev was NULL in __hlist_del function while deleting &sk->sk_bind_node hlist_node. Hence the patch was given.
>
> In netlink_remove function , first the sk_del_node_init function will be called. This internally calls __sk_del_node_init function. While deleting &sk->sk_node hlist_node using __sk_del_node function there is a NULL check with sk_hashed function.
>
> Why there is no NULL check for *pprev while deleting &sk->sk_bind_node ?
Because if ->subscriptions is non-zero, it must be on a list, and therefore
pprev must be non-NULL.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists