• Bob Peterson's avatar
    gfs2: assign rgrp glock before compute_bitstructs · 428f651c
    Bob Peterson authored
    Before this patch, function read_rindex_entry called compute_bitstructs
    before it allocated a glock for the rgrp. But if compute_bitstructs found
    a problem with the rgrp, it called gfs2_consist_rgrpd, and that called
    gfs2_dump_glock for rgd->rd_gl which had not yet been assigned.
    
    read_rindex_entry
       compute_bitstructs
          gfs2_consist_rgrpd
             gfs2_dump_glock <---------rgd->rd_gl was not set.
    
    This patch changes read_rindex_entry so it assigns an rgrp glock before
    calling compute_bitstructs so gfs2_dump_glock does not reference an
    unassigned pointer. If an error is discovered, the glock must also be
    put, so a new goto and label were added.
    
    Reported-by: syzbot+c6fd14145e2f62ca0784@syzkaller.appspotmail.com
    Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
    Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
    428f651c
rgrp.c 73.2 KB