Using IPVS with One-Packet Scheduling on UDP causes CPU soft lockup on traffic.
Steps to reproduce:
1. Install ipvsadm and netcat-openbsd
2. Execute `ipvsadm -a -u 127.0.0.1:1234 -s rr --ops && ipvsadm -A -u 127.0.0.1:1234 -r 127.0.0.1:1235 -m -w 1`
3. Execute `nc -l -k -u 1235` to actually have a listening service
4. In another terminal, generate traffic `while sleep 0.01; do date | nc -u -w 0 127.0.0.1 1234; done`
In only takes several packets (around 100 in my tests) to cause the soft lockup to appear. Even with lower packet rates (sleep 1 for example), the bug occurs.
This problem is already fixed in the current 4.20 vanilla kernel but is present in the 4.15 vanilla kernel (tested packages from the kernel-ppa). So basically, this would be a backport.
Using IPVS with One-Packet Scheduling on UDP causes CPU soft lockup on traffic.
Steps to reproduce:
1. Install ipvsadm and netcat-openbsd
2. Execute `ipvsadm -a -u 127.0.0.1:1234 -s rr --ops && ipvsadm -A -u 127.0.0.1:1234 -r 127.0.0.1:1235 -m -w 1`
3. Execute `nc -l -k -u 1235` to actually have a listening service
4. In another terminal, generate traffic `while sleep 0.01; do date | nc -u -w 0 127.0.0.1 1234; done`
In only takes several packets (around 100 in my tests) to cause the soft lockup to appear. Even with lower packet rates (sleep 1 for example), the bug occurs.
This problem is already fixed in the current 4.20 vanilla kernel but is present in the 4.15 vanilla kernel (tested packages from the kernel-ppa). So basically, this would be a backport.
Ubuntu release: Ubuntu 18.04.1 LTS 43.46-generic 4.15.18
Kernel version: Ubuntu 4.15.0-