2018-09-10 12:11:29

by Weikang shi

[permalink] [raw]
Subject: [PATCH 2/2] fs: list init in the critical section

the i_state init in the critical section,so as the list init should in it.

Signed-off-by: swkhack <[email protected]>
---
fs/inode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/inode.c b/fs/inode.c
index 42f6d25..d3e07e4 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -905,8 +905,8 @@ struct inode *new_inode_pseudo(struct super_block *sb)
if (inode) {
spin_lock(&inode->i_lock);
inode->i_state = 0;
- spin_unlock(&inode->i_lock);
INIT_LIST_HEAD(&inode->i_sb_list);
+ spin_unlock(&inode->i_lock);
}
return inode;
}
--
2.7.4



2018-09-11 00:24:46

by Dave Chinner

[permalink] [raw]
Subject: Re: [PATCH 2/2] fs: list init in the critical section

On Mon, Sep 10, 2018 at 05:09:52AM -0700, swkhack wrote:
> the i_state init in the critical section,so as the list init should in it.

Why? What bug does this fix?

-Dave.
--
Dave Chinner
[email protected]