diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-04-06 19:41:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-06 20:19:48 -0400 |
commit | d508afb437daee7cf07da085b635c44a4ebf9b38 (patch) | |
tree | 98b7ad238275bef428ac47204a7ce2fe6f14199c /fs/nfs | |
parent | bbae8bcc49bc4d002221dab52c79a50a82e7cd1f (diff) |
NFS: Fix a double free in nfs_parse_mount_options()
Due to an apparent typo, commit a67d18f89f5782806135aad4ee012ff78d45aae7
(NFS: load the rpc/rdma transport module automatically) lead to the
'proto=' mount option doing a double free, while Opt_mountproto leaks a
string.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/super.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 82eaadbff408..6717200923fe 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
@@ -1228,7 +1228,6 @@ static int nfs_parse_mount_options(char *raw, | |||
1228 | goto out_nomem; | 1228 | goto out_nomem; |
1229 | token = match_token(string, | 1229 | token = match_token(string, |
1230 | nfs_xprt_protocol_tokens, args); | 1230 | nfs_xprt_protocol_tokens, args); |
1231 | kfree(string); | ||
1232 | 1231 | ||
1233 | switch (token) { | 1232 | switch (token) { |
1234 | case Opt_xprt_udp: | 1233 | case Opt_xprt_udp: |
@@ -1258,6 +1257,7 @@ static int nfs_parse_mount_options(char *raw, | |||
1258 | goto out_nomem; | 1257 | goto out_nomem; |
1259 | token = match_token(string, | 1258 | token = match_token(string, |
1260 | nfs_xprt_protocol_tokens, args); | 1259 | nfs_xprt_protocol_tokens, args); |
1260 | kfree(string); | ||
1261 | 1261 | ||
1262 | switch (token) { | 1262 | switch (token) { |
1263 | case Opt_xprt_udp: | 1263 | case Opt_xprt_udp: |