mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 01:32:21 +02:00
ife decode may return after making only the outer IFE header and
metadata pullable. The caller then passes the decapsulated packet to
eth_type_trans(), which expects the inner Ethernet header to be
accessible from the linear data area.
With a malformed IFE frame, the inner Ethernet header may still be
shorter than ETH_HLEN in the linear area, which can lead to a crash in
the original code.
Fix this by extending the pull check in ife_decode() so that the inner
Ethernet header is also guaranteed to be pullable before returning.
Fixes:
|
||
|---|---|---|
| .. | ||
| ife.c | ||
| Kconfig | ||
| Makefile | ||