diff options
author | Patrick McHardy <kaber@trash.net> | 2013-04-17 06:47:00 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-19 14:57:57 -0400 |
commit | cf0a018ac669955c10e4fca24fa55dde58434e9a (patch) | |
tree | b2c087fe536127cf30639a773a8da78452994041 /net/802 | |
parent | 1298ca4671acb10310baa550ed044c553e3a3387 (diff) | |
download | blackbird-op-linux-cf0a018ac669955c10e4fca24fa55dde58434e9a.tar.gz blackbird-op-linux-cf0a018ac669955c10e4fca24fa55dde58434e9a.zip |
netlink: add netlink_skb_set_owner_r()
For mmap'ed I/O a netlink specific skb destructor needs to be invoked
after the final kfree_skb() to clean up state. This doesn't work currently
since the skb's ownership is transfered to the receiving socket using
skb_set_owner_r(), which orphans the skb, thereby invoking the destructor
prematurely.
Since netlink doesn't account skbs to the originating socket, there's no
need to orphan the skb. Add a netlink specific skb_set_owner_r() variant
that does not orphan the skb and use a netlink specific destructor to
call sock_rfree().
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/802')
0 files changed, 0 insertions, 0 deletions