linux/net
Oliver Hartkopp 514ac99c64 can: fix multiple delivery of a single CAN frame for overlapping CAN filters
The CAN_RAW socket can set multiple CAN identifier specific filters that lead
to multiple filters in the af_can.c filter processing. These filters are
indenpendent from each other which leads to logical OR'ed filters when applied.

This patch makes sure that every CAN frame which is filtered for a specific
socket is only delivered once to the user space. This is independent from the
number of matching CAN filters of this socket.

As the raw_rcv() function is executed from NET_RX softirq the introduced
variables are implemented as per-CPU variables to avoid extensive locking at
CAN frame reception time.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2015-04-01 11:27:41 +02:00
..
6lowpan
9p
802
8021q vlan: Add features for stacked vlan device 2015-03-29 13:33:21 -07:00
appletalk
atm
ax25
batman-adv
bluetooth Bluetooth: Unify advertising data code paths 2015-03-26 03:30:29 +01:00
bridge Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2015-03-23 22:02:46 -04:00
caif
can can: fix multiple delivery of a single CAN frame for overlapping CAN filters 2015-04-01 11:27:41 +02:00
ceph
core net: rename dev to orig_dev in deliver_ptype_list_skb 2015-03-31 16:37:43 -04:00
dcb
dccp inet: fix double request socket freeing 2015-03-23 21:40:48 -04:00
decnet
dns_resolver
dsa net: dsa: Add basic framework to support ndo_fdb functions 2015-03-29 13:23:54 -07:00
ethernet
hsr
ieee802154
ipv4 netlink: implement nla_get_in_addr and nla_get_in6_addr 2015-03-31 13:58:35 -04:00
ipv6 netlink: implement nla_get_in_addr and nla_get_in6_addr 2015-03-31 13:58:35 -04:00
ipx
irda
iucv
key xfrm: simplify xfrm_address_t use 2015-03-31 13:58:35 -04:00
l2tp netlink: implement nla_get_in_addr and nla_get_in6_addr 2015-03-31 13:58:35 -04:00
lapb
llc
mac80211 Lots of updates for net-next; along with the usual flurry 2015-03-31 16:39:04 -04:00
mac802154 mac802154: cleanup concurrent check 2015-03-27 19:18:50 +01:00
mpls
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2015-03-29 12:43:43 -07:00
netlabel netlink: implement nla_put_in_addr and nla_put_in6_addr 2015-03-31 13:58:35 -04:00
netlink rhashtable: provide len to obj_hashfn 2015-03-25 17:18:33 +01:00
netrom
nfc
openvswitch netlink: implement nla_get_in_addr and nla_get_in6_addr 2015-03-31 13:58:35 -04:00
packet af_packet: pass checksum validation status to the user 2015-03-23 22:01:28 -04:00
phonet
rds
rfkill
rose
rxrpc
sched
sctp sctp: avoid to repeatedly declare external variables 2015-03-25 11:40:16 -04:00
sunrpc
switchdev switchdev: fix stp update API to work with layered netdevices 2015-03-23 16:44:56 -04:00
tipc tipc: fix two bugs in secondary destination lookup 2015-03-29 13:47:36 -07:00
unix
vmw_vsock
wimax
wireless Lots of updates for net-next; along with the usual flurry 2015-03-31 16:39:04 -04:00
x25
xfrm xfrm: simplify xfrm_address_t use 2015-03-31 13:58:35 -04:00
compat.c net: socket: add support for async operations 2015-03-23 16:41:36 -04:00
Kconfig
Makefile
socket.c net: socket: add support for async operations 2015-03-23 16:41:36 -04:00
sysctl_net.c