Skip to content

Draft: raw: convert raw sockets to RCU

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1984293
Upstream Status: Linus

Create a new kernel BZ if the backport is accepted.
Rewrite MR description and mention kernel-rt bz1984293.

commit 0daf07e527095e64ee8927ce297ab626643e9f51 upstream
Author: Eric Dumazet edumazet@google.com
Date: Fri Jun 17 20:47:05 2022 -0700

raw: convert raw sockets to RCU  
  
Using rwlock in networking code is extremely risky.  
writers can starve if enough readers are constantly  
grabing the rwlock.  
  
I thought rwlock were at fault and sent this patch:  
  
https://lkml.org/lkml/2022/6/17/272  
  
But Peter and Linus essentially told me rwlock had to be unfair.  
  
We need to get rid of rwlock in networking code.  
  
Without this fix, following script triggers soft lockups:  
  
for i in {1..48}  
do  
 ping -f -n -q 127.0.0.1 &  
 sleep 0.1  
done  
  
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")  
Signed-off-by: Eric Dumazet <edumazet@google.com>  
Signed-off-by: David S. Miller <davem@davemloft.net>  

Signed-off-by: Luis Claudio R. Goncalves lgoncalv@redhat.com

Merge request reports