mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-01 12:00:18 +07:00
configfs: call drop_link() to cleanup after create_link() failure
When allow_link() succeeds but create_link() fails, the subsystem is not informed of the failure. This patch fixes this by calling drop_link() on create_link() failures. Signed-off-by: Louis Rilling <Louis.Rilling@kerlabs.com> Signed-off-by: Joel Becker <joel.becker@oracle.com>
This commit is contained in:
parent
11c3b79218
commit
e752065175
@ -140,8 +140,12 @@ int configfs_symlink(struct inode *dir, struct dentry *dentry, const char *symna
|
|||||||
goto out_put;
|
goto out_put;
|
||||||
|
|
||||||
ret = type->ct_item_ops->allow_link(parent_item, target_item);
|
ret = type->ct_item_ops->allow_link(parent_item, target_item);
|
||||||
if (!ret)
|
if (!ret) {
|
||||||
ret = create_link(parent_item, target_item, dentry);
|
ret = create_link(parent_item, target_item, dentry);
|
||||||
|
if (ret && type->ct_item_ops->drop_link)
|
||||||
|
type->ct_item_ops->drop_link(parent_item,
|
||||||
|
target_item);
|
||||||
|
}
|
||||||
|
|
||||||
config_item_put(target_item);
|
config_item_put(target_item);
|
||||||
path_put(&nd.path);
|
path_put(&nd.path);
|
||||||
|
Loading…
Reference in New Issue
Block a user