On Sat, 2024-04-20 at 19:48 +0900, Lex Siegel wrote: > [You don't often get email from usiegl00@xxxxxxxxx. Learn why this is > important at https://aka.ms/LearnAboutSenderIdentification ;] > > When using a bpf on kernel_connect(), the call can return -EPERM. > This causes xs_tcp_setup_socket() to loop forever, filling up the > syslog and causing the kernel to freeze up. > > Signed-off-by: Lex Siegel <usiegl00@xxxxxxxxx> > --- > net/sunrpc/xprtsock.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c > index bb9b747d58a1..47b254806a08 100644 > --- a/net/sunrpc/xprtsock.c > +++ b/net/sunrpc/xprtsock.c > @@ -2446,6 +2446,8 @@ static void xs_tcp_setup_socket(struct > work_struct *work) > /* Happens, for instance, if the user specified a > link > * local IPv6 address without a scope-id. > */ > + case -EPERM: > + /* Happens, for instance, if a bpf is preventing the > connect */ > case -ECONNREFUSED: > case -ECONNRESET: > case -ENETDOWN: > -- > 2.39.3 > This looks as if it will have some rather subtle interactions if the RPC_TASK_SOFTCONN flag is set. Have you tested this kind of scenario? -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx