Willem de Bruijn
217e6fa24c
net: introduce device min_header_len
...
The stack must not pass packets to device drivers that are shorter
than the minimum link layer header length.
Previously, packet sockets would drop packets smaller than or equal
to dev->hard_header_len, but this has false positives. Zero length
payload is used over Ethernet. Other link layer protocols support
variable length headers. Support for validation of these protocols
removed the min length check for all protocols.
Introduce an explicit dev->min_header_len parameter and drop all
packets below this value. Initially, set it to non-zero only for
Ethernet and loopback. Other protocols can follow in a patch to
net-next.
Fixes: 9ed988cd59 ("packet: validate variable length ll headers")
Reported-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Acked-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-08 13:56:37 -05:00
..
6lowpan
6lowpan: ndisc: no overreact if no short address is available
2016-09-19 20:19:34 +02:00
9p
IB/core: add support to create a unsafe global rkey to ib_create_pd
2016-09-23 13:47:44 -04:00
802
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
8021q
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
appletalk
appletalk: use IS_ENABLED() instead of checking for built-in or module
2016-09-10 21:19:10 -07:00
atm
net: atm: Fix warnings in net/atm/lec.c when !CONFIG_PROC_FS
2016-12-28 15:11:32 -05:00
ax25
ax25: Fix segfault after sock connection timeout
2017-01-16 14:39:58 -05:00
batman-adv
batman-adv: Decrease hardif refcnt on fragmentation send error
2017-01-04 08:22:04 +01:00
bluetooth
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2016-12-16 10:24:44 -08:00
bridge
bridge: netlink: call br_changelink() during br_dev_newlink()
2017-01-20 15:07:27 -05:00
caif
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-12-06 21:33:19 -05:00
can
can: bcm: fix hrtimer/tasklet termination in bcm op removal
2017-01-30 11:05:04 +01:00
ceph
libceph: make sure ceph_aes_crypt() IV is aligned
2017-01-18 17:58:45 +01:00
core
udp: properly cope with csum errors
2017-02-07 11:19:00 -05:00
dcb
net: dcb: set error code on failures
2016-12-03 23:54:25 -05:00
dccp
tcp: don't annotate mark on control socket from tcp_v6_send_response()
2017-01-27 10:33:56 -05:00
decnet
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
dns_resolver
dsa
net: dsa: Bring back device detaching in dsa_slave_suspend()
2017-01-25 14:47:44 -05:00
ethernet
net: introduce device min_header_len
2017-02-08 13:56:37 -05:00
hsr
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-10-30 12:42:58 -04:00
ieee802154
Makefile: drop -D__CHECK_ENDIAN__ from cflags
2016-12-16 00:13:43 +02:00
ipv4
udp: properly cope with csum errors
2017-02-07 11:19:00 -05:00
ipv6
sit: fix a double free on error path
2017-02-08 13:12:22 -05:00
ipx
ktime: Get rid of the union
2016-12-25 17:21:22 +01:00
irda
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
iucv
net/af_iucv: don't use paged skbs for TX on HiperSockets
2017-01-10 21:08:29 -05:00
kcm
Merge branch 'work.splice_read' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2016-10-07 15:36:58 -07:00
key
netns: make struct pernet_operations::id unsigned int
2016-11-18 10:59:15 -05:00
l2tp
l2tp: take remote address into account in l2tp_ip and l2tp_ip6 socket lookups
2017-01-01 22:07:20 -05:00
l3mdev
net: ipv6: Remove l3mdev_get_saddr6
2016-09-10 23:12:53 -07:00
lapb
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
llc
net: fix sleeping for sk_wait_event()
2016-11-14 13:17:21 -05:00
mac80211
mac80211: Fix adding of mesh vendor IEs
2017-02-06 07:55:44 +01:00
mac802154
ktime: Cleanup ktime_set() usage
2016-12-25 17:21:22 +01:00
mpls
net: Specify the owning module for lwtunnel ops
2017-01-24 16:21:36 -05:00
ncsi
net/ncsi: Improve HNCDSC AEN handler
2016-10-20 11:23:08 -04:00
netfilter
netfilter: nf_tables: bump set->ndeact on set flush
2017-01-24 21:46:59 +01:00
netlabel
netlabel: add CALIPSO to the list of built-in protocols
2017-01-06 22:20:45 -05:00
netlink
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
netrom
nfc
genetlink: mark families as __ro_after_init
2016-10-27 16:16:09 -04:00
openvswitch
openvswitch: maintain correct checksum state in conntrack actions
2017-01-15 22:15:16 -05:00
packet
virtio-net: restore VIRTIO_HDR_F_DATA_VALID on receiving
2017-01-20 11:01:17 -05:00
phonet
netns: make struct pernet_operations::id unsigned int
2016-11-18 10:59:15 -05:00
qrtr
net: qrtr: Mark 'buf' as little endian
2017-01-10 20:45:04 -05:00
rds
RDS: use rb_entry()
2016-12-20 14:22:49 -05:00
rfkill
rose
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
rxrpc
rxrpc: abstract away knowledge of IDR internals
2016-12-14 16:04:10 -08:00
sched
net/sched: matchall: Fix configuration race
2017-02-01 11:57:33 -05:00
sctp
sctp: check af before verify address in sctp_addr_id2transport
2017-02-07 14:07:23 -05:00
strparser
strparser: Propagate correct error code in strp_recv()
2016-10-12 01:51:49 -04:00
sunrpc
svcrpc: fix oops in absence of krb5 module
2017-01-31 12:29:24 -05:00
switchdev
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-10-30 12:42:58 -04:00
tipc
tipc: fix cleanup at module unload
2017-01-24 16:14:58 -05:00
unix
af_unix: move unix_mknod() out of bindlock
2017-01-24 14:30:56 -05:00
vmw_vsock
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-12-17 20:17:04 -08:00
wimax
genetlink: mark families as __ro_after_init
2016-10-27 16:16:09 -04:00
wireless
nl80211: Fix mesh HT operation check
2017-02-06 07:59:07 +01:00
x25
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
xfrm
ktime: Cleanup ktime_set() usage
2016-12-25 17:21:22 +01:00
compat.c
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
2016-12-24 11:46:01 -08:00
Kconfig
cgroup: move CONFIG_SOCK_CGROUP_DATA to init/Kconfig
2017-01-11 09:47:10 -05:00
Makefile
socket.c
net: socket: Make unnecessarily global sockfs_setattr() static
2017-01-10 11:29:50 -05:00
sysctl_net.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2016-10-06 09:52:23 -07:00