Daniel Borkmann
0b8c707ddf
ebpf, filter: do not convert skb->protocol to host endianess during runtime
...
Commit c249739579 ("bpf: allow BPF programs access 'protocol' and 'vlan_tci'
fields") has added support for accessing protocol, vlan_present and vlan_tci
into the skb offset map.
As referenced in the below discussion, accessing skb->protocol from an eBPF
program should be converted without handling endianess.
The reason for this is that an eBPF program could simply do a check more
naturally, by f.e. testing skb->protocol == htons(ETH_P_IP), where the LLVM
compiler resolves htons() against a constant automatically during compilation
time, as opposed to an otherwise needed run time conversion.
After all, the way of programming both from a user perspective differs quite
a lot, i.e. bpf_asm ["ld proto"] versus a C subset/LLVM.
Reference: https://patchwork.ozlabs.org/patch/450819/
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-03-20 15:24:26 -04:00
..
datagram.c
skb_copy_datagram_iovec() can die
2014-12-09 16:29:11 -05:00
dev.c
net: Fix high overhead of vlan sub-device teardown.
2015-03-18 22:52:56 -04:00
dev_addr_lists.c
net: fix spelling for synchronized
2014-11-18 15:26:32 -05:00
dev_ioctl.c
dev_ioctl: use sizeof(x) instead of sizeof x
2014-11-18 15:27:32 -05:00
drop_monitor.c
net: Replace get_cpu_var through this_cpu_ptr
2014-08-26 13:45:47 -04:00
dst.c
dst: no need to take reference on DST_NOCACHE dsts
2014-12-09 16:08:17 -05:00
ethtool.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-03-03 21:16:48 -05:00
fib_rules.c
net: Kill hold_net release_net
2015-03-12 14:39:40 -04:00
filter.c
ebpf, filter: do not convert skb->protocol to host endianess during runtime
2015-03-20 15:24:26 -04:00
flow.c
flowcache: Fix kernel panic in flow_cache_flush_task
2015-02-05 14:38:53 -08:00
flow_dissector.c
xps: fix xps for stacked devices
2015-02-04 13:02:54 -08:00
gen_estimator.c
net: sched: make bstats per cpu and estimator RCU safe
2014-09-30 01:02:26 -04:00
gen_stats.c
gen_stats.c: Duplicate xstats buffer for later use
2015-02-19 15:45:53 -05:00
link_watch.c
net/core: include linux/types.h instead of asm/types.h
2014-11-18 15:26:32 -05:00
Makefile
net: bury net/core/iovec.c - nothing in there is used anymore
2015-02-04 01:34:15 -05:00
neighbour.c
net: Kill hold_net release_net
2015-03-12 14:39:40 -04:00
net-procfs.c
rps: selective flow shedding during softnet overflow
2013-05-20 13:48:04 -07:00
net-sysfs.c
net: add support for phys_port_name
2015-03-18 22:30:35 -04:00
net-sysfs.h
net: netdev_kobject_init: annotate with __init
2014-01-05 20:27:54 -05:00
net-traces.c
net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules
2011-10-31 19:30:30 -04:00
net_namespace.c
net: Kill hold_net release_net
2015-03-12 14:39:40 -04:00
netclassid_cgroup.c
cgroup: rename cgroup_subsys->base_cftypes to ->legacy_cftypes
2014-07-15 11:05:09 -04:00
netevent.c
net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules
2011-10-31 19:30:30 -04:00
netpoll.c
net: rename vlan_tx_* helpers since "tx" is misleading there
2015-01-13 17:51:08 -05:00
netprio_cgroup.c
cgroup: rename cgroup_subsys->base_cftypes to ->legacy_cftypes
2014-07-15 11:05:09 -04:00
pktgen.c
net: pktgen: disable xmit_clone on virtual devices
2015-02-22 22:43:20 -05:00
ptp_classifier.c
net: filter: split 'struct sk_filter' into socket and bpf parts
2014-08-02 15:03:58 -07:00
request_sock.c
inet: get rid of central tcp/dccp listener timer
2015-03-20 12:40:25 -04:00
rtnetlink.c
net: add support for phys_port_name
2015-03-18 22:30:35 -04:00
scm.c
net: introduce helper macro for_each_cmsghdr
2014-12-10 22:41:55 -05:00
secure_seq.c
net: use ktime_get_ns() and ktime_get_real_ns() helpers
2014-08-22 19:57:23 -07:00
skbuff.c
net: gro: remove obsolete code from skb_gro_receive()
2015-03-06 21:50:55 -05:00
sock.c
inet: get rid of central tcp/dccp listener timer
2015-03-20 12:40:25 -04:00
sock_diag.c
net: add real socket cookies
2015-03-11 21:55:28 -04:00
stream.c
net: replace macros net_random and net_srandom with direct calls to prandom
2014-01-14 15:15:25 -08:00
sysctl_net_core.c
net: increase sk_[max_]ack_backlog
2015-03-20 12:40:25 -04:00
timestamping.c
net-timestamp: Make the clone operation stand-alone from phy timestamping
2014-09-05 17:43:45 -07:00
tso.c
net: tso: fix unaligned access to crafted TCP header in helper API
2014-10-22 12:52:55 -04:00
utils.c
net: Convert LIMIT_NETDEBUG to net_dbg_ratelimited
2014-11-11 14:10:31 -05:00