diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-24 00:38:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-24 00:38:21 -0400 |
commit | 0542170dec523d50e8bed5515e2f7314e738c8d8 (patch) | |
tree | 4154d3a3a511e1d0cf9b80eaaef5d02f00fd3a04 /net | |
parent | 6dc2c1b7798ef645213afc82f6d5eac3d61bc18b (diff) | |
parent | 02881d94780faa86e32952e46381f7cd4c78d5ac (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
9p: fix bad error path in conversion routines
9p: remove deprecated v9fs_fid_lookup_remove()
9p: update maintainers and documentation
9p: fix use after free
Diffstat (limited to 'net')
-rw-r--r-- | net/9p/conv.c | 1 | ||||
-rw-r--r-- | net/9p/mux.c | 9 |
2 files changed, 7 insertions, 3 deletions
diff --git a/net/9p/conv.c b/net/9p/conv.c index f2a041cb508..d979d958ea1 100644 --- a/net/9p/conv.c +++ b/net/9p/conv.c | |||
@@ -796,6 +796,7 @@ struct p9_fcall *p9_create_twrite_u(u32 fid, u64 offset, u32 count, | |||
796 | if (err) { | 796 | if (err) { |
797 | kfree(fc); | 797 | kfree(fc); |
798 | fc = ERR_PTR(err); | 798 | fc = ERR_PTR(err); |
799 | goto error; | ||
799 | } | 800 | } |
800 | 801 | ||
801 | if (buf_check_overflow(bufp)) { | 802 | if (buf_check_overflow(bufp)) { |
diff --git a/net/9p/mux.c b/net/9p/mux.c index acb038810f3..5d70558c4c6 100644 --- a/net/9p/mux.c +++ b/net/9p/mux.c | |||
@@ -288,9 +288,10 @@ struct p9_conn *p9_conn_create(struct p9_transport *trans, int msize, | |||
288 | m->extended = extended; | 288 | m->extended = extended; |
289 | m->trans = trans; | 289 | m->trans = trans; |
290 | m->tagpool = p9_idpool_create(); | 290 | m->tagpool = p9_idpool_create(); |
291 | if (!m->tagpool) { | 291 | if (IS_ERR(m->tagpool)) { |
292 | mtmp = ERR_PTR(-ENOMEM); | ||
292 | kfree(m); | 293 | kfree(m); |
293 | return ERR_PTR(PTR_ERR(m->tagpool)); | 294 | return mtmp; |
294 | } | 295 | } |
295 | 296 | ||
296 | m->err = 0; | 297 | m->err = 0; |
@@ -308,8 +309,10 @@ struct p9_conn *p9_conn_create(struct p9_transport *trans, int msize, | |||
308 | memset(&m->poll_waddr, 0, sizeof(m->poll_waddr)); | 309 | memset(&m->poll_waddr, 0, sizeof(m->poll_waddr)); |
309 | m->poll_task = NULL; | 310 | m->poll_task = NULL; |
310 | n = p9_mux_poll_start(m); | 311 | n = p9_mux_poll_start(m); |
311 | if (n) | 312 | if (n) { |
313 | kfree(m); | ||
312 | return ERR_PTR(n); | 314 | return ERR_PTR(n); |
315 | } | ||
313 | 316 | ||
314 | n = trans->poll(trans, &m->pt); | 317 | n = trans->poll(trans, &m->pt); |
315 | if (n & POLLIN) { | 318 | if (n & POLLIN) { |