mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	[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: Pekka Enberg <penberg@cs.helsinki.fi> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
		
							parent
							
								
									f220ab2a51
								
							
						
					
					
						commit
						ba03bda81e
					
				
					 1 changed files with 6 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue