Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #65646 > unrolled thread

Bug#945023: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'

Started byStefan Walter <stefan.walter@inf.ethz.ch>
First post2019-11-18 17:00 +0100
Last post2019-11-18 19:20 +0100
Articles 4 — 3 participants

Back to article view | Back to linux.debian.kernel


Contents

  Bug#945023: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid' Stefan Walter <stefan.walter@inf.ethz.ch> - 2019-11-18 17:00 +0100
    Processed: Backport 'ipv4: Return -ENETUNREACH if we can't create  route but saddr is valid' "Debian Bug Tracking System" <owner@bugs.debian.org> - 2019-11-18 17:00 +0100
    Bug#945023: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid' Salvatore Bonaccorso <carnil@debian.org> - 2019-11-18 19:20 +0100
    Processed: Re: Bug#945023: Backport 'ipv4: Return -ENETUNREACH if  we can't create route but saddr is valid' "Debian Bug Tracking System" <owner@bugs.debian.org> - 2019-11-18 19:20 +0100

#65646 — Bug#945023: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'

FromStefan Walter <stefan.walter@inf.ethz.ch>
Date2019-11-18 17:00 +0100
SubjectBug#945023: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Message-ID<z3RBv-6s1-5@gated-at.bofh.it>
Source: linux
Version: 4.19.67-2+deb10u1
Severity: normal
Tags: upstream patch fixed-upstream
Control: found -1 4.9.189-3+deb9u1
Control: found -1 4.19.67-2+deb10u2
Control: found -1 4.9.189-3+deb9u2

The patch 'ipv4: Return -ENETUNREACH if we can't create route but saddr 
is valid' was added in all 4.x stable kernels, e.g., 4.19.81. This patch 
fixes a nasty stability issue of NFS4. If the network goes away, active 
file operations will fail on the client with EINVAL instead of 
continuing when the server comes back.

The following is an example are for reproducing this error (client 
'muster', server 'sample'):

# Mounted file system
muster[0]:/mnt# mount | grep /mnt
sample:/local/plain on /mnt type nfs4 
(rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=x.x.x.x,local_lock=none,addr=y.y.y.y)

# Script to simulate a network outage
muster[130]:/mnt# cat /root/net.sh
ifdown enp0s31f6
sleep 300
ifup enp0s31f6

# Start all I/O processes and simulate a network interruption
muster[0]:/mnt# for i in `seq 1 100`; do  dd if=/dev/zero of=$i bs=1M 
count=25 oflag=direct & done ; sleep 5 ; nohup sh /root/net.sh
...
26214400 bytes (26 MB) copied, 3.93894 s, 6.7 MB/s
25+0 records in
25+0 records out
26214400 bytes (26 MB) copied, 3.90155 s, 6.7 MB/s
25+0 records in
25+0 records out
26214400 bytes (26 MB) copied, 3.92334 s, 6.7 MB/s
dd: dd: dd: error writing ‘16’error writing ‘32’error writing ‘25’: 
Invalid argument: Invalid argument: Invalid argument...
21+0 records in
20+0 records out
10+0 records in
9+0 records out
19+0 records in
18+0 records out
20971520 bytes (21 MB) copied18874368 bytes (19 MB) copied9437184 bytes 
(9.4 MB) copied, 306.087 s, 68.5 kB/s
, 304.42 s, 31.0 kB/s
, 305.808 s, 61.7 kB/s
25+0 records in
25+0 records out
26214400 bytes (26 MB) copied, 306.792 s, 85.4 kB/s
25+0 records in
25+0 records out
26214400 bytes (26 MB) copied, 306.805 s, 85.4 kB/s
25+0 records in
25+0 records out
26214400 bytes (26 MB) copied, 306.665 s, 85.5 kB/s
...

muster[0]:/mnt# dmesg  | tail -5
[  667.098917] nfs: server sample not responding, still trying
[  667.098929] nfs: server sample not responding, still trying
[  695.258324] nfs: RPC call returned error 22
[  695.258333] nfs: RPC call returned error 22
[  695.258350] nfs: RPC call returned error 22


Please incorporate this single patch in all 4.x kernels of the currently 
supported Debian releases.

[toc] | [next] | [standalone]


#65647 — Processed: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2019-11-18 17:00 +0100
SubjectProcessed: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Message-ID<z3RBv-6s1-7@gated-at.bofh.it>
In reply to#65646
Processing control commands:

> found -1 4.9.189-3+deb9u1
Bug #945023 [src:linux] Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Marked as found in versions linux/4.9.189-3+deb9u1.
> found -1 4.19.67-2+deb10u2
Bug #945023 [src:linux] Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Marked as found in versions linux/4.19.67-2+deb10u2.
> found -1 4.9.189-3+deb9u2
Bug #945023 [src:linux] Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Marked as found in versions linux/4.9.189-3+deb9u2.

-- 
945023: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=945023
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [next] | [standalone]


#65648

FromSalvatore Bonaccorso <carnil@debian.org>
Date2019-11-18 19:20 +0100
Message-ID<z3TMZ-80h-1@gated-at.bofh.it>
In reply to#65646
Control: fixed -1 5.3.9-1
Control: tags -1 + confirmed

Hi Stefan,

On Mon, Nov 18, 2019 at 04:37:10PM +0100, Stefan Walter wrote:
> Source: linux
> Version: 4.19.67-2+deb10u1
> Severity: normal
> Tags: upstream patch fixed-upstream
> Control: found -1 4.9.189-3+deb9u1
> Control: found -1 4.19.67-2+deb10u2
> Control: found -1 4.9.189-3+deb9u2
> 
> The patch 'ipv4: Return -ENETUNREACH if we can't create route but saddr is
> valid' was added in all 4.x stable kernels, e.g., 4.19.81. This patch fixes
> a nasty stability issue of NFS4. If the network goes away, active file
> operations will fail on the client with EINVAL instead of continuing when
> the server comes back.
> 
> The following is an example are for reproducing this error (client 'muster',
> server 'sample'):
> 
> # Mounted file system
> muster[0]:/mnt# mount | grep /mnt
> sample:/local/plain on /mnt type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=x.x.x.x,local_lock=none,addr=y.y.y.y)
> 
> # Script to simulate a network outage
> muster[130]:/mnt# cat /root/net.sh
> ifdown enp0s31f6
> sleep 300
> ifup enp0s31f6
> 
> # Start all I/O processes and simulate a network interruption
> muster[0]:/mnt# for i in `seq 1 100`; do  dd if=/dev/zero of=$i bs=1M
> count=25 oflag=direct & done ; sleep 5 ; nohup sh /root/net.sh
> ...
> 26214400 bytes (26 MB) copied, 3.93894 s, 6.7 MB/s
> 25+0 records in
> 25+0 records out
> 26214400 bytes (26 MB) copied, 3.90155 s, 6.7 MB/s
> 25+0 records in
> 25+0 records out
> 26214400 bytes (26 MB) copied, 3.92334 s, 6.7 MB/s
> dd: dd: dd: error writing ‘16’error writing ‘32’error writing ‘25’: Invalid
> argument: Invalid argument: Invalid argument...
> 21+0 records in
> 20+0 records out
> 10+0 records in
> 9+0 records out
> 19+0 records in
> 18+0 records out
> 20971520 bytes (21 MB) copied18874368 bytes (19 MB) copied9437184 bytes (9.4
> MB) copied, 306.087 s, 68.5 kB/s
> , 304.42 s, 31.0 kB/s
> , 305.808 s, 61.7 kB/s
> 25+0 records in
> 25+0 records out
> 26214400 bytes (26 MB) copied, 306.792 s, 85.4 kB/s
> 25+0 records in
> 25+0 records out
> 26214400 bytes (26 MB) copied, 306.805 s, 85.4 kB/s
> 25+0 records in
> 25+0 records out
> 26214400 bytes (26 MB) copied, 306.665 s, 85.5 kB/s
> ...
> 
> muster[0]:/mnt# dmesg  | tail -5
> [  667.098917] nfs: server sample not responding, still trying
> [  667.098929] nfs: server sample not responding, still trying
> [  695.258324] nfs: RPC call returned error 22
> [  695.258333] nfs: RPC call returned error 22
> [  695.258350] nfs: RPC call returned error 22
> 
> 
> Please incorporate this single patch in all 4.x kernels of the currently
> supported Debian releases.

Thanks for the report.

We likely will update both buster and stretch branches to newer stable
release version for upcoming point releases, adressing this as well.
But will already commit next for both branches the cherry-picked
commits to adress it, just in case.

5.3.9-1 does already include the fix.

Regards,
Salvatore

[toc] | [prev] | [next] | [standalone]


#65649 — Processed: Re: Bug#945023: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'

From"Debian Bug Tracking System" <owner@bugs.debian.org>
Date2019-11-18 19:20 +0100
SubjectProcessed: Re: Bug#945023: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Message-ID<z3TN0-80h-13@gated-at.bofh.it>
In reply to#65646
Processing control commands:

> fixed -1 5.3.9-1
Bug #945023 [src:linux] Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Marked as fixed in versions linux/5.3.9-1.
> tags -1 + confirmed
Bug #945023 [src:linux] Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Added tag(s) confirmed.

-- 
945023: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=945023
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.kernel


csiph-web