Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd0ed19f authored by Andrew Price's avatar Andrew Price Committed by Steven Whitehouse
Browse files

GFS2: Fix possible null pointer deref in gfs2_rs_alloc



Despite the return value from kmem_cache_zalloc() being checked, the
error wasn't being returned until after a possible null pointer
dereference. This patch returns the error immediately, allowing the
removal of the error variable.

Signed-off-by: default avatarAndrew Price <anprice@redhat.com>
Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent aaaf68c5
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -553,7 +553,6 @@ void gfs2_free_clones(struct gfs2_rgrpd *rgd)
 */
int gfs2_rs_alloc(struct gfs2_inode *ip)
{
	int error = 0;
	struct gfs2_blkreserv *res;

	if (ip->i_res)
@@ -561,7 +560,7 @@ int gfs2_rs_alloc(struct gfs2_inode *ip)

	res = kmem_cache_zalloc(gfs2_rsrv_cachep, GFP_NOFS);
	if (!res)
		error = -ENOMEM;
		return -ENOMEM;

	RB_CLEAR_NODE(&res->rs_node);

@@ -571,7 +570,7 @@ int gfs2_rs_alloc(struct gfs2_inode *ip)
	else
		ip->i_res = res;
	up_write(&ip->i_rw_mutex);
	return error;
	return 0;
}

static void dump_rs(struct seq_file *seq, const struct gfs2_blkreserv *rs)