mbox series

[net,0/7] wireguard fixes for 5.12-rc1

Message ID 20210222162549.3252778-1-Jason@zx2c4.com (mailing list archive)
Headers show
Series wireguard fixes for 5.12-rc1 | expand

Message

Jason A. Donenfeld Feb. 22, 2021, 4:25 p.m. UTC
Hi Dave,

This series has a collection of fixes that have piled up for a little
while now, that I unfortunately didn't get a chance to send out earlier.

1) Removes unlikely() from IS_ERR(), since it's already implied.

2) Remove a bogus sparse annotation that hasn't been needed for years.

3) Addition test in the test suite for stressing parallel ndo_start_xmit.

4) Slight struct reordering in preparation for subsequent fix.

5) If skb->protocol is bogus, we no longer attempt to send icmp messages.

6) Massive memory usage fix, hit by larger deployments.

7) Fix typo in kconfig dependency logic.

(1) and (2) are tiny cleanups, and (3) is just a test, so if you're
trying to reduce churn, you could not backport these. But (4), (5), (6),
and (7) fix problems and should be applied to stable. IMO, it's probably
easiest to just apply them all to stable.

Thanks,
Jason

Antonio Quartulli (1):
  wireguard: avoid double unlikely() notation when using IS_ERR()

Jann Horn (1):
  wireguard: socket: remove bogus __be32 annotation

Jason A. Donenfeld (5):
  wireguard: selftests: test multiple parallel streams
  wireguard: peer: put frequently used members above cache lines
  wireguard: device: do not generate ICMP for non-IP packets
  wireguard: queueing: get rid of per-peer ring buffers
  wireguard: kconfig: use arm chacha even with no neon

 drivers/net/Kconfig                        |  2 +-
 drivers/net/wireguard/device.c             | 21 +++---
 drivers/net/wireguard/device.h             | 15 ++--
 drivers/net/wireguard/peer.c               | 28 +++----
 drivers/net/wireguard/peer.h               |  8 +-
 drivers/net/wireguard/queueing.c           | 86 +++++++++++++++++-----
 drivers/net/wireguard/queueing.h           | 45 ++++++++---
 drivers/net/wireguard/receive.c            | 16 ++--
 drivers/net/wireguard/send.c               | 31 +++-----
 drivers/net/wireguard/socket.c             |  8 +-
 tools/testing/selftests/wireguard/netns.sh | 15 +++-
 11 files changed, 170 insertions(+), 105 deletions(-)

Comments

Jakub Kicinski Feb. 24, 2021, 12:02 a.m. UTC | #1
On Mon, 22 Feb 2021 17:25:42 +0100 Jason A. Donenfeld wrote:
> This series has a collection of fixes that have piled up for a little
> while now, that I unfortunately didn't get a chance to send out earlier.
> 
> 1) Removes unlikely() from IS_ERR(), since it's already implied.
> 
> 2) Remove a bogus sparse annotation that hasn't been needed for years.
> 
> 3) Addition test in the test suite for stressing parallel ndo_start_xmit.
> 
> 4) Slight struct reordering in preparation for subsequent fix.
> 
> 5) If skb->protocol is bogus, we no longer attempt to send icmp messages.
> 
> 6) Massive memory usage fix, hit by larger deployments.
> 
> 7) Fix typo in kconfig dependency logic.
> 
> (1) and (2) are tiny cleanups, and (3) is just a test, so if you're
> trying to reduce churn, you could not backport these. But (4), (5), (6),
> and (7) fix problems and should be applied to stable. IMO, it's probably
> easiest to just apply them all to stable.

Preferably 1, 2, 4 and 6 should go into net-next first, and not be
posted half way through the merge window, but I trust you had them 
well tested so applied, thanks!