mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
orangefs: Fix sb refcount leak when allocate sb info failed.
The reference counting issue happens in one exception handling path of orangefs_mount(). When failing to allocate sb info, the function forgets to decrease the refcount of sb increased by sget(), causing a refcount leak. Fix this issue by jumping to the label "free_sb_and_op" instead of "free_op" Signed-off-by: Chenyuan Mi <cymi20@fudan.edu.cn> Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn> Signed-off-by: Xin Tan <tanxin.ctf@gmail.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
parent
4c2b46c824
commit
ac2c63757f
|
|
@ -526,7 +526,7 @@ struct dentry *orangefs_mount(struct file_system_type *fst,
|
|||
sb->s_fs_info = kzalloc(sizeof(struct orangefs_sb_info_s), GFP_KERNEL);
|
||||
if (!ORANGEFS_SB(sb)) {
|
||||
d = ERR_PTR(-ENOMEM);
|
||||
goto free_op;
|
||||
goto free_sb_and_op;
|
||||
}
|
||||
|
||||
ret = orangefs_fill_sb(sb,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user