esp4: add length check for UDP encapsulation
authorSabrina Dubroca <sd@queasysnail.net>
Mon, 25 Mar 2019 13:30:00 +0000 (14:30 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 26 Mar 2019 07:39:30 +0000 (08:39 +0100)
commit8dfb4eba4100e7cdd161a8baef2d8d61b7a7e62e
tree47012e3eeefbbbaf24cd5908f2e55b7335e52327
parentdbb2483b2a46fbaf833cfb5deb5ed9cace9c7399
esp4: add length check for UDP encapsulation

esp_output_udp_encap can produce a length that doesn't fit in the 16
bits of a UDP header's length field. In that case, we'll send a
fragmented packet whose length is larger than IP_MAX_MTU (resulting in
"Oversized IP packet" warnings on receive) and with a bogus UDP
length.

To prevent this, add a length check to esp_output_udp_encap and return
 -EMSGSIZE on failure.

This seems to be older than git history.

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/ipv4/esp4.c