Returning &ip->i_inode when ip is NULL is safe as i_inode is the first member in struct gfs2_inode, but that's not immediately obvious. Reorganize gfs2_alloc_inode to avoid any doubt.
Signed-off-by: Andrew Price <anpr...@redhat.com> --- Re-sending with a more appropriate commit log based on Andreas' comments. fs/gfs2/super.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 1666382..37c59ee 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c @@ -1628,12 +1628,13 @@ static struct inode *gfs2_alloc_inode(struct super_block *sb) struct gfs2_inode *ip; ip = kmem_cache_alloc(gfs2_inode_cachep, GFP_KERNEL); - if (ip) { - ip->i_flags = 0; - ip->i_gl = NULL; - ip->i_rgd = NULL; - ip->i_res = NULL; - } + if (!ip) + return NULL; + + ip->i_flags = 0; + ip->i_gl = NULL; + ip->i_rgd = NULL; + ip->i_res = NULL; return &ip->i_inode; } -- 1.9.3