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

Commit ba03bda8 authored by Pekka Enberg's avatar Pekka Enberg Committed by Linus Torvalds
Browse files

[PATCH] freevxfs: fix buffer_head leak



- fix a buffer_head leak in vxfs_getfsh()

- s/SLAB_KERNEL/GFP_KERNEL/

- check sb_bread() return value

- drop pointless buffer-mapped() test.

Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent f220ab2a
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -78,17 +78,18 @@ vxfs_getfsh(struct inode *ip, int which)
	struct buffer_head		*bp;

	bp = vxfs_bread(ip, which);
	if (buffer_mapped(bp)) {
	if (bp) {
		struct vxfs_fsh		*fhp;

		if (!(fhp = kmalloc(sizeof(*fhp), SLAB_KERNEL)))
			return NULL;
		if (!(fhp = kmalloc(sizeof(*fhp), GFP_KERNEL)))
			goto out;
		memcpy(fhp, bp->b_data, sizeof(*fhp));

		brelse(bp);
		put_bh(bp);
		return (fhp);
	}

out:
	brelse(bp);
	return NULL;
}