]> git.baikalelectronics.ru Git - kernel.git/commit
tun: read vnet_hdr_sz once
authorWillem de Bruijn <willemb@google.com>
Fri, 3 Feb 2017 23:20:48 +0000 (18:20 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Feb 2017 03:41:27 +0000 (22:41 -0500)
commit61f7ef61d8e0583ddcacc2495e609b0518e99c33
tree6bed425132b0eb1c3808a012ad5f81799df0d78c
parent7cc9f4d595f031de8a433d78d07b4cae0093a7ae
tun: read vnet_hdr_sz once

When IFF_VNET_HDR is enabled, a virtio_net header must precede data.
Data length is verified to be greater than or equal to expected header
length tun->vnet_hdr_sz before copying.

Read this value once and cache locally, as it can be updated between
the test and use (TOCTOU).

Signed-off-by: Willem de Bruijn <willemb@google.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
CC: Eric Dumazet <edumazet@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tun.c