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


Groups > linux.debian.bugs.dist > #983851

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

From Salvatore Bonaccorso <carnil@debian.org>
Newsgroups linux.debian.bugs.dist, linux.debian.kernel
Subject Bug#945023: Backport 'ipv4: Return -ENETUNREACH if we can't create route but saddr is valid'
Date 2019-11-18 19:20 +0100
Message-ID <z3TMZ-80h-1@gated-at.bofh.it> (permalink)
References <z3RBv-6s1-5@gated-at.bofh.it> <z3RBv-6s1-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Cross-posted to 2 groups.

Show all headers | View raw


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

Back to linux.debian.bugs.dist | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

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
  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

csiph-web