On Wed, Mar 23, 2016 at 05:04:15PM -0600, Alex Williamson wrote:
>On Wed, 23 Mar 2016 22:25:11 +0000
>Wei Yang <[email protected]> wrote:
>
>> The original code forgets to remove the sysfs_link to a device in
>> iommu_group/devices directory, when the creation fails or conflicts on the
>> name.
>> 
>> This patch tries to remove the sysfs_link on the failure.
>> 
>> Signed-off-by: Wei Yang <[email protected]>
>> ---
>>  drivers/iommu/iommu.c |    1 +
>>  1 file changed, 1 insertion(+)
>> 
>> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
>> index 2696a38..8f480ba 100644
>> --- a/drivers/iommu/iommu.c
>> +++ b/drivers/iommu/iommu.c
>> @@ -403,6 +403,7 @@ rename:
>>      ret = sysfs_create_link_nowarn(group->devices_kobj,
>>                                     &dev->kobj, device->name);
>>      if (ret) {
>> +            sysfs_remove_link(group->devices_kobj, device->name);
>>              kfree(device->name);
>>              if (ret == -EEXIST && i >= 0) {
>>                      /*
>
>If we failed to create a link, potentially due to a conflicting link
>already present, then aren't we arbitrarily removing that conflicting
>link with this change?  If sysfs_create_link_nowarn() fails then we
>haven't created a link of our own to remove.  This looks wrong.  Thanks,
>

Hmm... you are right, that's my bad.

Do you have comments on the first patch?

>Alex

-- 
Wei Yang
Help you, Help me

Reply via email to