diff options
Diffstat (limited to 'fs/9p/v9fs.c')
| -rw-r--r-- | fs/9p/v9fs.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c index 13bdbbab4387..82303f3bf76f 100644 --- a/fs/9p/v9fs.c +++ b/fs/9p/v9fs.c | |||
| @@ -303,7 +303,13 @@ v9fs_session_init(struct v9fs_session_info *v9ses, | |||
| 303 | goto SessCleanUp; | 303 | goto SessCleanUp; |
| 304 | }; | 304 | }; |
| 305 | 305 | ||
| 306 | v9ses->transport = trans_proto; | 306 | v9ses->transport = kmalloc(sizeof(*v9ses->transport), GFP_KERNEL); |
| 307 | if (!v9ses->transport) { | ||
| 308 | retval = -ENOMEM; | ||
| 309 | goto SessCleanUp; | ||
| 310 | } | ||
| 311 | |||
| 312 | memmove(v9ses->transport, trans_proto, sizeof(*v9ses->transport)); | ||
| 307 | 313 | ||
| 308 | if ((retval = v9ses->transport->init(v9ses, dev_name, data)) < 0) { | 314 | if ((retval = v9ses->transport->init(v9ses, dev_name, data)) < 0) { |
| 309 | eprintk(KERN_ERR, "problem initializing transport\n"); | 315 | eprintk(KERN_ERR, "problem initializing transport\n"); |
