diff options
Diffstat (limited to 'fs/ext4/xattr.c')
| -rw-r--r-- | fs/ext4/xattr.c | 3 | 
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 042325349098..564e28a1aa94 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -1895,11 +1895,10 @@ ext4_xattr_block_set(handle_t *handle, struct inode *inode,  			unlock_buffer(bs->bh);  			ea_bdebug(bs->bh, "cloning"); -			s->base = kmalloc(bs->bh->b_size, GFP_NOFS); +			s->base = kmemdup(BHDR(bs->bh), bs->bh->b_size, GFP_NOFS);  			error = -ENOMEM;  			if (s->base == NULL)  				goto cleanup; -			memcpy(s->base, BHDR(bs->bh), bs->bh->b_size);  			s->first = ENTRY(header(s->base)+1);  			header(s->base)->h_refcount = cpu_to_le32(1);  			s->here = ENTRY(s->base + offset);  |