sunrpc: infinite unkillable console spam in xs_tcp_setup_socket
diff mbox

Message ID 1511544841.14300.4.camel@primarydata.com
State New
Headers show

Commit Message

Trond Myklebust Nov. 24, 2017, 5:34 p.m. UTC
On Mon, 2017-11-20 at 14:02 +0100, Dmitry Vyukov wrote:
> Hello,

> 

> The following program triggers infinite stream of the following

> output

> on console. The program is unkillable and this effectively brings the

> machine down:

> 

> 

> ** 16 printk messages dropped ** [12875.022917] xs_tcp_setup_socket:

> connect returned unhandled error -113

>


Does the following fix the issue?

8<-----------------------------------------------------
From f48d3f01df45f50f0145060f5272ccf1aea855ac Mon Sep 17 00:00:00 2001
From: Trond Myklebust <trond.myklebust@primarydata.com>

Date: Fri, 24 Nov 2017 12:00:24 -0500
Subject: [PATCH] SUNRPC: Allow connect to return EHOSTUNREACH

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>

---
 net/sunrpc/xprtsock.c | 1 +
 1 file changed, 1 insertion(+)

-- 
2.14.3

-- 
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@primarydata.com

Comments

Dmitry Vyukov Nov. 28, 2017, 10 a.m. UTC | #1
On Fri, Nov 24, 2017 at 6:34 PM, Trond Myklebust
<trondmy@primarydata.com> wrote:
> On Mon, 2017-11-20 at 14:02 +0100, Dmitry Vyukov wrote:
>> Hello,
>>
>> The following program triggers infinite stream of the following
>> output
>> on console. The program is unkillable and this effectively brings the
>> machine down:
>>
>>
>> ** 16 printk messages dropped ** [12875.022917] xs_tcp_setup_socket:
>> connect returned unhandled error -113
>>
>
> Does the following fix the issue?


Re-run the provided reproducer with the patch.
I don't see any kernel output and the process is perfectly killable now.

Tested-by: Dmitry Vyukov <dvyukov@google.com>





> 8<-----------------------------------------------------
> From f48d3f01df45f50f0145060f5272ccf1aea855ac Mon Sep 17 00:00:00 2001
> From: Trond Myklebust <trond.myklebust@primarydata.com>
> Date: Fri, 24 Nov 2017 12:00:24 -0500
> Subject: [PATCH] SUNRPC: Allow connect to return EHOSTUNREACH
>
> Reported-by: Dmitry Vyukov <dvyukov@google.com>
> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
> ---
>  net/sunrpc/xprtsock.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
> index 4dad5da388d6..8cb40f8ffa5b 100644
> --- a/net/sunrpc/xprtsock.c
> +++ b/net/sunrpc/xprtsock.c
> @@ -2437,6 +2437,7 @@ static void xs_tcp_setup_socket(struct work_struct *work)
>         case -ECONNREFUSED:
>         case -ECONNRESET:
>         case -ENETUNREACH:
> +       case -EHOSTUNREACH:
>         case -EADDRINUSE:
>         case -ENOBUFS:
>                 /*
> --
> 2.14.3
>
> --
> Trond Myklebust
> Linux NFS client maintainer, PrimaryData
> trond.myklebust@primarydata.com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 4dad5da388d6..8cb40f8ffa5b 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -2437,6 +2437,7 @@  static void xs_tcp_setup_socket(struct work_struct *work)
 	case -ECONNREFUSED:
 	case -ECONNRESET:
 	case -ENETUNREACH:
+	case -EHOSTUNREACH:
 	case -EADDRINUSE:
 	case -ENOBUFS:
 		/*