Messages in this thread Patch in this message | | | From | Lubomir Rintel <> | Subject | [PATCH] [fs/sysv] Fix NULL deref. when allocating new inode | Date | Sun, 13 Jun 2010 21:01:43 +0200 |
| |
A call to sysv_write_inode() in sysv_new_inode() to its new interface that replaced wait flag with writeback structure. This was broken by a9185b41a4f84971b930c519f0c63bd450c4810d.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> --- fs/sysv/ialloc.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/fs/sysv/ialloc.c b/fs/sysv/ialloc.c index 241e976..f2764e2 100644 --- a/fs/sysv/ialloc.c +++ b/fs/sysv/ialloc.c @@ -25,6 +25,7 @@ #include <linux/stat.h> #include <linux/string.h> #include <linux/buffer_head.h> +#include <linux/writeback.h> #include "sysv.h" /* We don't trust the value of @@ -139,6 +140,9 @@ struct inode * sysv_new_inode(const struct inode * dir, mode_t mode) struct inode *inode; sysv_ino_t ino; unsigned count; + struct writeback_control wbc = { + .sync_mode = WB_SYNC_NONE + }; inode = new_inode(sb); if (!inode) @@ -177,7 +181,7 @@ struct inode * sysv_new_inode(const struct inode * dir, mode_t mode) mark_inode_dirty(inode); inode->i_mode = mode; /* for sysv_write_inode() */ - sysv_write_inode(inode, 0); /* ensure inode not allocated again */ + sysv_write_inode(inode, &wbc); /* ensure inode not allocated again */ mark_inode_dirty(inode); /* cleared by sysv_write_inode() */ /* That's it. */ unlock_super(sb); -- 1.7.1
| |