GIT 801505f7203d5a9db1aeea41e8894f44a768161a git+ssh://master.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git#v9fs-devel commit Author: Martin Stava Date: Thu Nov 8 11:52:30 2007 -0600 9p: fix bug in p9_clone_stat This patch fixes a bug in the copying of 9P stat information where string references weren't being updated properly. Signed-off-by: Martin Sava Signed-off-by: Eric Van Hensbergen commit 021ff07c4f2240e8c197077d0aba0b36954b21ba Author: Latchesar Ionkov Date: Thu Nov 1 15:32:42 2007 -0500 9p: add missing end-of-options record for trans_fd The list of options that the fd transport accepts is missing end-of-options marker. This patch adds it. Signed-off-by: Latchesar Ionkov commit e5d52f938cf2e1f66fb92e454dd2c1fea626c58d Author: Latchesar Ionkov Date: Thu Nov 1 15:32:42 2007 -0500 9p: return NULL when trans not found v9fs_match_trans function returns arbitrary transport module instead of NULL when the requested transport is not registered. This patch modifies the function to return NULL in that case. Signed-off-by: Latchesar Ionkov commit 751a70259c5d86fddcaca5d3a2a5d812af436eae Author: Latchesar Ionkov Date: Thu Nov 1 15:32:42 2007 -0500 9p: use copy of the options value instead of original v9fs_parse_options function uses strsep which modifies the value of the v9ses->options field. That modified value is later passed to the function that creates the transport potentially making the transport creation function to fail. This patch creates a copy of v9ses->option field that v9fs_parse_options function uses instead of the original value. Signed-off-by: Latchesar Ionkov commit 9f7b0f6097cdcd0f6fe1c96d7f4b1cfd8ae2e5a3 Author: Latchesar Ionkov Date: Thu Nov 1 15:32:42 2007 -0500 9p: fix memory leak in v9fs_get_sb This patch fixes a memory leak in v9fs_get_sb. Signed-off-by: Latchesar Ionkov net/9p/client.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/net/9p/client.c b/net/9p/client.c index af91993..069d9aa 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -901,16 +901,21 @@ static struct p9_stat *p9_clone_stat(struct p9_stat *st, int dotu) memmove(ret, st, sizeof(struct p9_stat)); p = ((char *) ret) + sizeof(struct p9_stat); memmove(p, st->name.str, st->name.len); + ret->name.str = p; p += st->name.len; memmove(p, st->uid.str, st->uid.len); + ret->uid.str = p; p += st->uid.len; memmove(p, st->gid.str, st->gid.len); + ret->gid.str = p; p += st->gid.len; memmove(p, st->muid.str, st->muid.len); + ret->muid.str = p; p += st->muid.len; if (dotu) { memmove(p, st->extension.str, st->extension.len); + ret->extension.str = p; p += st->extension.len; }