summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-04-06 16:41:35 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-06 17:19:48 -0700
commitd508afb437daee7cf07da085b635c44a4ebf9b38 (patch)
tree98b7ad238275bef428ac47204a7ce2fe6f14199c
parentbbae8bcc49bc4d002221dab52c79a50a82e7cd1f (diff)
downloadlinux-stable-d508afb437daee7cf07da085b635c44a4ebf9b38.tar.gz
linux-stable-d508afb437daee7cf07da085b635c44a4ebf9b38.tar.bz2
linux-stable-d508afb437daee7cf07da085b635c44a4ebf9b38.zip
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>
-rw-r--r--fs/nfs/super.c2
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,
goto out_nomem;
token = match_token(string,
nfs_xprt_protocol_tokens, args);
- kfree(string);
switch (token) {
case Opt_xprt_udp:
@@ -1258,6 +1257,7 @@ static int nfs_parse_mount_options(char *raw,
goto out_nomem;
token = match_token(string,
nfs_xprt_protocol_tokens, args);
+ kfree(string);
switch (token) {
case Opt_xprt_udp: