can: omit unneeded skb_clone() calls
authorOliver Hartkopp <oliver@hartkopp.net>
Tue, 6 Jan 2009 19:07:54 +0000 (11:07 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Jan 2009 19:07:54 +0000 (11:07 -0800)
commit1fa17d4ba43d7e5aab5e90777b07da06524f6748
treeebe8704bd84c51d29c17a8425b496a13b4935dc5
parent98658bc9dc37cfb7c3bf5585ca73ce44aeb05c9e
can: omit unneeded skb_clone() calls

The AF_CAN core delivered always cloned sk_buffs to the AF_CAN
protocols, although this was _only_ needed by the can-raw protocol.
With this (additionally documented) change, the AF_CAN core calls the
callback functions of the registered AF_CAN protocols with the original
(uncloned) sk_buff pointer and let's the can-raw protocol do the
skb_clone() itself which omits all unneeded skb_clone() calls for other
AF_CAN protocols.

Signed-off-by: Oliver Hartkopp <oliver@hartkopp.net>
Signed-off-by: Urs Thuermann <urs.thuermann@volkswagen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/can/core.h
net/can/af_can.c
net/can/bcm.c
net/can/raw.c