diff --git a/[refs] b/[refs] index 4c1a87003b7f..48c4365f3141 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 562ada612058133a5483c68a73605f3c5f42fffe +refs/heads/master: 349d3bb878d71978650a0634b5445af3c1cc1cd8 diff --git a/trunk/net/9p/client.c b/trunk/net/9p/client.c index 8af95b2dddd6..90a2eb926d19 100644 --- a/trunk/net/9p/client.c +++ b/trunk/net/9p/client.c @@ -108,6 +108,13 @@ static int parse_opts(char *opts, struct p9_client *clnt) break; case Opt_trans: clnt->trans_mod = v9fs_get_trans_by_name(&args[0]); + if(clnt->trans_mod == NULL) { + P9_DPRINTK(P9_DEBUG_ERROR, + "Could not find request transport: %s\n", + (char *) &args[0]); + ret = -EINVAL; + goto free_and_return; + } break; case Opt_legacy: clnt->dotu = 0; @@ -117,6 +124,7 @@ static int parse_opts(char *opts, struct p9_client *clnt) } } +free_and_return: kfree(options); return ret; }