diff options
author | Jakub Kicinski <kuba@kernel.org> | 2022-04-22 15:59:08 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-04-22 15:59:08 -0700 |
commit | 69489f5840fc0a96e82b7d3b4afba01274abb830 (patch) | |
tree | 4917142404c635014490d8313f96771a403781bb /drivers/net | |
parent | 7623627b41ca77b0e1031465774b143db1c3331b (diff) | |
parent | 45eed46fc6753ba860ee8c5fc5562078f7636238 (diff) | |
download | wireguard-linux-trimmed-69489f5840fc0a96e82b7d3b4afba01274abb830.tar.gz wireguard-linux-trimmed-69489f5840fc0a96e82b7d3b4afba01274abb830.zip |
Merge branch 'wireguard-patches-for-5-18-rc4'
Jason A. Donenfeld says:
====================
wireguard patches for 5.18-rc4
Here are two small wireguard fixes for 5.18-rc4:
1) We enable ACPI in the QEMU test harness, so that multiple CPUs are
actually used on x86 for testing for races.
2) Sending skbs with metadata dsts attached resulted in a null pointer
dereference, triggerable from executing eBPF programs. The fix is a
oneliner, changing a skb_dst() null check into a skb_valid_dst()
boolean check.
====================
Link: https://lore.kernel.org/r/20220421134805.279118-1-Jason@zx2c4.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/wireguard/device.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireguard/device.c b/drivers/net/wireguard/device.c index 0fad133..aa9a7a5 100644 --- a/drivers/net/wireguard/device.c +++ b/drivers/net/wireguard/device.c @@ -19,6 +19,7 @@ #include <linux/if_arp.h> #include <linux/icmp.h> #include <linux/suspend.h> +#include <net/dst_metadata.h> #include <net/icmp.h> #include <net/rtnetlink.h> #include <net/ip_tunnels.h> @@ -167,7 +168,7 @@ static netdev_tx_t wg_xmit(struct sk_buff *skb, struct net_device *dev) goto err_peer; } - mtu = skb_dst(skb) ? dst_mtu(skb_dst(skb)) : dev->mtu; + mtu = skb_valid_dst(skb) ? dst_mtu(skb_dst(skb)) : dev->mtu; __skb_queue_head_init(&packets); if (!skb_is_gso(skb)) { |