On Sat, Jan 16, 2016 at 01:08:33AM +0100, Richard Weinberger wrote:
On Fri, Jan 15, 2016 at 11:31 PM, Dmitry Vyukov [off-list ref] wrote:
quoted
Call Trace:
[< inline >] netlink_ns_capable net/netlink/af_netlink.c:1417
[<ffffffff8529c0a5>] netlink_capable+0x25/0x30 net/netlink/af_netlink.c:1432
Hmm, we're crashing because NETLINK_CB(skb).sk is NULL.
netlink_dump() creates a new skb without a netlink control block,
but infiniband's dump functions use netlink_capable() which needs a valid
NETLINK_CB(skb).sk.
What about something like that?
No you can't do it here as netlink_unicast also calls this and for
that case you'd be overwriting the original sending user-space
socket with the kernel socket.
I'm adding Eric Bierderman as he wrote some of the code in question.
Cheers,
--
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt