Gentoo Archives: gentoo-user

From: Tom Wijsman <TomWij@g.o>
To: tanstaafl@×××××××××××.org
Cc: gentoo-user@l.g.o
Subject: Re: [gentoo-user] NFS kernel bug
Date: Sun, 08 Dec 2013 23:22:39
Message-Id: 20131209002054.29c9799f@TOMWIJ-GENTOO
In Reply to: Re: [gentoo-user] NFS kernel bug by Tanstaafl
1 On Sun, 08 Dec 2013 16:13:26 -0500
2 Tanstaafl <tanstaafl@×××××××××××.org> wrote:
3
4 > On 2013-10-26 6:19 PM, Daniel Frey <djqfrey@×××××.com> wrote:
5 > > Just a note to other NFS server users -
6 > >
7 > > There's a kernel bug that can cause unmounting an NFS share to
8 > > segfault (and not actually unmount anything.)
9 > >
10 > > I had in in the kernel 3.10 version, perhaps even before that as I
11 > > don't update the kernel on my mythtv backend server that often.
12 > >
13 > > It hangs the shutdown process with an oops and it will require
14 > > physical manual intervention to shut the machine down.
15 > >
16 > > If you upgrade to 3.11.5 or greater the problem goes away.
17 > >
18 > > I've been banging my head against the wall with this for over a
19 > > week and *finally* found a resolution after going through a lot of
20 > > NFS searches via Google.
21 >
22 > So... is this fixed in the stable 3.10 series (ie, 3.10.7 or 3.10.17)?
23
24 TL;DR: One of both NFS fixes from 3.11.5 is fixed since v3.10.16, the
25 other one is fixed since v3.11.5; porting the other one back does not
26 appear easy, because different code is present (or an alternative fix).
27
28 == Which commits? ==
29
30 http://thread.gmane.org/gmane.linux.kernel/1577607 mentions:
31
32 1. NFSv4.1: nfs4_fl_prepare_ds - fix bugs when the connect attempt fails
33 2. nfsd4: fix leak of inode reference on delegation failure
34
35 == Are they present in v3.10.17? ==
36
37 For (1) we see that
38 http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?id=v3.10.17&qt=grep&q=nfs4_fl_prepare_ds
39 does show the commit.
40
41 For (2) we see that
42 http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/?id=v3.10.17&qt=grep&q=fix%20leak%20of%20inode
43 does not show the commit.
44
45 So, one of both commits is fixed in 3.10.17, the other is not.
46
47 == Which versions contain these commits? ==
48
49 We can find all relevant commits IDs by searching for the commit message
50 in the last release of each branch; then we just enumerate all tags,
51 which gives us the versions where the commit is present.
52
53 Checking the upstream commits yields:
54
55 $ git tag --contains 52b26a3e1bb3e065c32b3febdac1e1f117d88e15 # (1)
56 v3.12
57 v3.12-rc4
58 v3.12-rc5
59 v3.12-rc6
60 v3.12-rc7
61 v3.12.1
62 v3.12.2
63 v3.12.3
64 v3.12.4
65 v3.13-rc1
66 v3.13-rc2
67 v3.13-rc3
68 $ git tag --contains bf7bd3e98be5c74813bee6ad496139fb0a011b3b # (2)
69 v3.12
70 v3.12-rc1
71 v3.12-rc2
72 v3.12-rc3
73 v3.12-rc4
74 v3.12-rc5
75 v3.12-rc6
76 v3.12-rc7
77 v3.12.1
78 v3.12.2
79 v3.12.3
80 v3.12.4
81 v3.13-rc1
82 v3.13-rc2
83 v3.13-rc3
84
85 Checking the ported back 3.11 commits yields:
86
87 $ git tag --contains 3b12032f89e27f139828bad8120149b1584bc898 # (1)
88 v3.11.5
89 v3.11.6
90 v3.11.7
91 v3.11.8
92 v3.11.9
93 v3.11.10
94 $ git tag --contains ba3460519e393d0f212403ae3535305f423d84ed # (2)
95 v3.11.5
96 v3.11.6
97 v3.11.7
98 v3.11.8
99 v3.11.9
100 v3.11.10
101
102 Checking the ported back 3.10 commit yields:
103
104 $ git tag --contains 28f7ae257183e8064119db486190d2229caae369 # (1)
105 v3.10.16
106 v3.10.17
107 v3.10.18
108 v3.10.19
109 v3.10.20
110 v3.10.21
111 v3.10.22
112 v3.10.23
113
114 This summarizes all versions where these two commits are available.
115
116 == Only one of both is available in v3.10.17, can I apply the other? ==
117
118 It appears that (2) can't be applied to v3.10 without porting it back;
119 or maybe it has already applied, but in a quite different way.
120
121 == Which versions contain the bad commit(s)? Which one are affected? ==
122
123 A list of all versions that contain the bad commit of (2) are:
124
125 $ git tag --contains 68a3396178e6688ad7367202cdf0af8ed03c8727 | tr
126 '\n' ' '
127
128 v3.10 v3.10-rc1 v3.10-rc2 v3.10-rc3 v3.10-rc4 v3.10-rc5 v3.10-rc6
129 v3.10-rc7 v3.10.1 v3.10.10 v3.10.11 v3.10.12 v3.10.13 v3.10.14 v3.10.15
130 v3.10.16 v3.10.17 v3.10.18 v3.10.19 v3.10.2 v3.10.20 v3.10.21 v3.10.22
131 v3.10.23 v3.10.3 v3.10.4 v3.10.5 v3.10.6 v3.10.7 v3.10.8 v3.10.9 v3.11
132 v3.11-rc1 v3.11-rc2 v3.11-rc3 v3.11-rc4 v3.11-rc5 v3.11-rc6 v3.11-rc7
133 v3.11.1 v3.11.10 v3.11.2 v3.11.3 v3.11.4 v3.11.5 v3.11.6 v3.11.7
134 v3.11.8 v3.11.9 v3.12 v3.12-rc1 v3.12-rc2 v3.12-rc3 v3.12-rc4 v3.12-rc5
135 v3.12-rc6 v3.12-rc7 v3.12.1 v3.12.2 v3.12.3 v3.12.4 v3.13-rc1 v3.13-rc2
136 v3.13-rc3
137
138 Excluding wherever it is fixed, only v3.10-rc1 - v3.10.23 are affected.
139
140 As the first commit doesn't mention where it regressed, I cannot check
141 in which versions that bad commit is present for (1); though it is
142 definitely limited to versions lower than v3.10.16 as evidenced earlier.
143
144 --
145 With kind regards,
146
147 Tom Wijsman (TomWij)
148 Gentoo Developer
149
150 E-mail address : TomWij@g.o
151 GPG Public Key : 6D34E57D
152 GPG Fingerprint : C165 AF18 AB4C 400B C3D2 ABF0 95B2 1FCD 6D34 E57D

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-user] NFS kernel bug Tanstaafl <tanstaafl@×××××××××××.org>