Skip to content

Commit a200cdb

Browse files
LGA1150ordex
authored andcommitted
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: Minqiang Chen <ptpt52@gmail.com> Fixes: 8534731 ("ovpn: implement packet processing") Signed-off-by: Qingfang Deng <qingfang.deng@linux.dev> Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
1 parent bd3a479 commit a200cdb

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

  • drivers/net/ovpn

drivers/net/ovpn/io.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ static void ovpn_netdev_write(struct ovpn_peer *peer, struct sk_buff *skb)
8585
skb_scrub_packet(skb, true);
8686

8787
/* network header reset in ovpn_decrypt_post() */
88+
skb_reset_mac_header(skb);
8889
skb_reset_transport_header(skb);
8990
skb_reset_inner_headers(skb);
9091

0 commit comments

Comments
 (0)