It is wrong to schedule a work from sk_destruct using the socket
as the memory reserve because the socket will be freed immediately
after the return from sk_destruct.
Instead we should do the deferral prior to sk_free.
This patch does just that.
Fixes: 707693c8 ("netlink: Call cb->done from a worker thread")
Signed-off-by: Herbert Xu <firstname.lastname@example.org>
Tested-by: Andrey Konovalov <email@example.com>
Signed-off-by: David S. Miller <firstname.lastname@example.org>