X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=fs%2Fconfigfs%2Fsymlink.c;h=c8aabba502f6d7f019890bcdeba2fcdd7a56717f;hb=c8636b90a091331beb0a26c455a0c87b93aa774a;hp=a6ab012a2c6acf9815bb8d4d1e29fb4568084b08;hpb=0389227dde3abae442521948caf5c173e696cdca;p=karo-tx-linux.git diff --git a/fs/configfs/symlink.c b/fs/configfs/symlink.c index a6ab012a2c6a..c8aabba502f6 100644 --- a/fs/configfs/symlink.c +++ b/fs/configfs/symlink.c @@ -83,14 +83,13 @@ static int create_link(struct config_item *parent_item, ret = -ENOMEM; sl = kmalloc(sizeof(struct configfs_symlink), GFP_KERNEL); if (sl) { - sl->sl_target = config_item_get(item); spin_lock(&configfs_dirent_lock); if (target_sd->s_type & CONFIGFS_USET_DROPPING) { spin_unlock(&configfs_dirent_lock); - config_item_put(item); kfree(sl); return -ENOENT; } + sl->sl_target = config_item_get(item); list_add(&sl->sl_list, &target_sd->s_links); spin_unlock(&configfs_dirent_lock); ret = configfs_create_link(sl, parent_item->ci_dentry,