mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
ext4: fix missing brelse() in ext4_xattr_inode_dec_ref_all()
The commitc8e008b604("ext4: ignore xattrs past end") introduced a refcount leak in when block_csum is false. ext4_xattr_inode_dec_ref_all() calls ext4_get_inode_loc() to get iloc.bh, but never releases it with brelse(). Fixes:c8e008b604("ext4: ignore xattrs past end") Signed-off-by: Sohei Koyama <skoyama@ddn.com> Reviewed-by: Andreas Dilger <adilger@dilger.ca> Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com> Cc: stable@vger.kernel.org Reviewed-by: Zhang Yi <yi.zhang@huawei.com> Reviewed-by: Baokun Li <libaokun@linux.alibaba.com> Link: https://patch.msgid.link/20260406074830.8480-1-skoyama@ddn.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
22f53f08d9
commit
77d0595193
|
|
@ -1165,7 +1165,7 @@ ext4_xattr_inode_dec_ref_all(handle_t *handle, struct inode *parent,
|
|||
{
|
||||
struct inode *ea_inode;
|
||||
struct ext4_xattr_entry *entry;
|
||||
struct ext4_iloc iloc;
|
||||
struct ext4_iloc iloc = { .bh = NULL };
|
||||
bool dirty = false;
|
||||
unsigned int ea_ino;
|
||||
int err;
|
||||
|
|
@ -1260,6 +1260,8 @@ ext4_xattr_inode_dec_ref_all(handle_t *handle, struct inode *parent,
|
|||
ext4_warning_inode(parent,
|
||||
"handle dirty metadata err=%d", err);
|
||||
}
|
||||
|
||||
brelse(iloc.bh);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user