sfc: Add length checks to efx_xmit_with_hwtstamp() and efx_ptp_is_ptp_tx()
authorBen Hutchings <bhutchings@solarflare.com>
Fri, 6 Dec 2013 19:26:40 +0000 (19:26 +0000)
committerBen Hutchings <bhutchings@solarflare.com>
Fri, 6 Dec 2013 20:41:22 +0000 (20:41 +0000)
commite5a498e943fbc497f236ab8cf31366c75f337ce6
treef608e770abc0d83bdf402c2e9e6b97ad1b9dbdb0
parente1ca87bb1b64b044163e686ff3bb71405156c561
sfc: Add length checks to efx_xmit_with_hwtstamp() and efx_ptp_is_ptp_tx()

efx_ptp_is_ptp_tx() must be robust against skbs from raw sockets that
have invalid IPv4 and UDP headers.

Add checks that:
- the transport header has been found
- there is enough space between network and transport header offset
  for an IPv4 header
- there is enough space after the transport header offset for a
  UDP header

Fixes: 7c236c43b838 ('sfc: Add support for IEEE-1588 PTP')
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/ptp.c