[Cluster-devel] [GFS2 Patch] Fix recent use-after-free spotted by coverity
Steven Whitehouse
swhiteho at redhat.com
Mon Jan 9 15:40:38 UTC 2012
Hi,
Now in the -fixes tree. Thanks,
Steve.
On Fri, 2012-01-06 at 16:48 -0500, Bob Peterson wrote:
> Hi,
>
> This patch fixes a use-after-free bug, spotted by coverity, which
> was recently introduced.
>
> Regards,
>
> Bob Peterson
> Red Hat File Systems
>
> Signed-off-by: Bob Peterson <rpeterso at redhat.com>
> --
> Author: Bob Peterson <rpeterso at redhat.com>
> Date: Fri Jan 6 16:42:27 2012 -0600
>
> GFS2: Fix a use-after-free that coverity spotted
>
> In function gfs2_inplace_release it was trying to unlock a gfs2_holder
> structure associated with a reservation, after said reservation was
> freed. The problem is that the statements have the wrong order.
> This patch corrects the order so that the reservation is freed after
> the gfs2_holder is unlocked.
>
> diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
> index 2223462..981bfa3 100644
> --- a/fs/gfs2/rgrp.c
> +++ b/fs/gfs2/rgrp.c
> @@ -1108,9 +1108,9 @@ void gfs2_inplace_release(struct gfs2_inode *ip)
> {
> struct gfs2_blkreserv *rs = ip->i_res;
>
> - gfs2_blkrsv_put(ip);
> if (rs->rs_rgd_gh.gh_gl)
> gfs2_glock_dq_uninit(&rs->rs_rgd_gh);
> + gfs2_blkrsv_put(ip);
> }
>
> /**
>
More information about the Cluster-devel
mailing list