gfs2: Move variable assignment behind a null pointer check in inode_go_dump
authorMarkus Elfring <Markus.Elfring@web.de>
Thu, 13 Apr 2023 18:54:30 +0000 (20:54 +0200)
committerAndreas Gruenbacher <agruenba@redhat.com>
Tue, 18 Apr 2023 12:58:32 +0000 (14:58 +0200)
Since commit 27a2660f1ef9 ("gfs2: Dump nrpages for inodes and their
glocks"), inode_go_dump() computes the address of inode within ip before
checking if ip is NULL.  This isn't a bug by itself, but it can give
rise to bugs later.  Avoid that by checking if ip is NULL first.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/glops.c

index b65950e..6e33c80 100644 (file)
@@ -535,12 +535,13 @@ static void inode_go_dump(struct seq_file *seq, struct gfs2_glock *gl,
                          const char *fs_id_buf)
 {
        struct gfs2_inode *ip = gl->gl_object;
-       struct inode *inode = &ip->i_inode;
+       struct inode *inode;
        unsigned long nrpages;
 
        if (ip == NULL)
                return;
 
+       inode = &ip->i_inode;
        xa_lock_irq(&inode->i_data.i_pages);
        nrpages = inode->i_data.nrpages;
        xa_unlock_irq(&inode->i_data.i_pages);