netlink: netlink_recvmsg() fix
authorEric Dumazet <eric.dumazet@gmail.com>
Mon, 26 Jul 2010 20:09:16 +0000 (13:09 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Jul 2010 20:09:16 +0000 (13:09 -0700)
commit1235f504aaba2ebeabc863fdb3ceac764a317d47
tree58969a45226b9d35bbfc7ecc3dab2823c117db39
parent7b5e078cf04ea5b8b7ccffaf9a3607097f5c2359
netlink: netlink_recvmsg() fix

commit 1dacc76d0014
(net/compat/wext: send different messages to compat tasks)
introduced a race condition on netlink, in case MSG_PEEK is used.

An skb given by skb_recv_datagram() might be shared, we must copy it
before any modification, or risk fatal corruption.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netlink/af_netlink.c