Commit a200cdbf authored by Qingfang Deng's avatar Qingfang Deng Committed by Antonio Quartulli
Browse files

ovpn: reset MAC header before passing skb up



After decapsulating a packet, the skb->mac_header still points to the
outer transport header.

Fix this by calling skb_reset_mac_header() in ovpn_netdev_write() to
ensure the MAC header points to the beginning of
the inner IP/network packet, as expected by the rest of the stack.

Reported-by: default avatarMinqiang Chen <ptpt52@gmail.com>
Fixes: 8534731d ("ovpn: implement packet processing")
Signed-off-by: default avatarQingfang Deng <qingfang.deng@linux.dev>
Signed-off-by: default avatarAntonio Quartulli <antonio@openvpn.net>
parent bd3a4795
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ static void ovpn_netdev_write(struct ovpn_peer *peer, struct sk_buff *skb)
	skb_scrub_packet(skb, true);

	/* network header reset in ovpn_decrypt_post() */
	skb_reset_mac_header(skb);
	skb_reset_transport_header(skb);
	skb_reset_inner_headers(skb);