linux/net/core
Eric Dumazet aee636c480 bpf: do not use reciprocal divide
At first Jakub Zawadzki noticed that some divisions by reciprocal_divide
were not correct. (off by one in some cases)
http://www.wireshark.org/~darkjames/reciprocal-buggy.c

He could also show this with BPF:
http://www.wireshark.org/~darkjames/set-and-dump-filter-k-bug.c

The reciprocal divide in linux kernel is not generic enough,
lets remove its use in BPF, as it is not worth the pain with
current cpus.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Cc: Mircea Gherzan <mgherzan@gmail.com>
Cc: Daniel Borkmann <dxchgb@gmail.com>
Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: Matt Evans <matt@ozlabs.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-01-15 17:02:08 -08:00
..
datagram.c net, datagram: fix the incorrect comment in zerocopy_sg_from_iovec() 2013-10-29 00:19:04 -04:00
dev_addr_lists.c net, mc: fix the incorrect comments in two mc-related functions 2013-10-29 00:19:05 -04:00
dev_ioctl.c
dev.c net: core: explicitly select a txq before doing l2 forwarding 2014-01-10 13:23:08 -05:00
drop_monitor.c net: drop_monitor: fix the value of maxattr 2013-12-09 21:10:38 -05:00
dst.c
ethtool.c net: Add layer 2 hardware acceleration operations for macvlan devices 2013-11-07 19:11:41 -05:00
fib_rules.c net: Fix "ip rule delete table 256" 2013-11-08 14:53:10 -05:00
filter.c bpf: do not use reciprocal divide 2014-01-15 17:02:08 -08:00
flow_dissector.c net: core: explicitly select a txq before doing l2 forwarding 2014-01-10 13:23:08 -05:00
flow.c net: delete __cpuinit usage from all net files 2013-07-14 19:36:58 -04:00
gen_estimator.c
gen_stats.c
iovec.c net: rework recvmsg handler msg_name and msg_namelen logic 2013-11-20 21:52:30 -05:00
link_watch.c
Makefile
neighbour.c vlan: Fix header ops passthru when doing TX VLAN offload. 2013-12-31 16:23:35 -05:00
net_namespace.c userns: Kill nsown_capable it makes the wrong thing easy 2013-08-30 23:44:11 -07:00
net-procfs.c
net-sysfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-11-13 17:40:34 +09:00
net-sysfs.h
net-traces.c
netevent.c
netpoll.c net: core: explicitly select a txq before doing l2 forwarding 2014-01-10 13:23:08 -05:00
netprio_cgroup.c cgroup: netprio: remove unnecessary task_netprioidx 2013-10-08 16:27:34 -04:00
pktgen.c {pktgen, xfrm} Update IPv4 header total len and checksum after tranformation 2013-12-01 20:33:52 -05:00
request_sock.c
rtnetlink.c net: fix rtnl notification in atomic context 2013-10-25 19:03:45 -04:00
scm.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2013-09-07 14:35:32 -07:00
secure_seq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-10-23 16:49:34 -04:00
skbuff.c net: clear local_df when passing skb between namespaces 2013-12-05 23:42:38 -05:00
sock_diag.c
sock.c net: unix: allow set_peek_off to fail 2013-12-10 21:45:15 -05:00
stream.c net: add sk_stream_is_writeable() helper 2013-07-24 17:54:48 -07:00
sysctl_net_core.c qdisc: allow setting default queuing discipline 2013-08-31 00:32:32 -04:00
timestamping.c
user_dma.c
utils.c net: make net_get_random_once irq safe 2013-10-25 19:03:39 -04:00