lkml.org 
[lkml]   [2018]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 4.4 059/268] xen-netfront: Fix race between device setup and open
From
Date
On 06/11/2018 03:29 PM, Ben Hutchings wrote:
> On Mon, 2018-05-28 at 12:00 +0200, Greg Kroah-Hartman wrote:
>> 4.4-stable review patch.  If anyone has any objections, please let me know.
>>
>> ------------------
>>
>> From: Ross Lagerwall <ross.lagerwall@citrix.com>
>>
>> [ Upstream commit f599c64fdf7d9c108e8717fb04bc41c680120da4 ]
> [...]
>> --- a/drivers/net/xen-netfront.c
>> +++ b/drivers/net/xen-netfront.c
> [...]
>> @@ -1839,6 +1824,7 @@ static int talk_to_netback(struct xenbus
>>   goto out;
>
> This "goto out" is outside the locked section...
>
>>   }
>>
>> + rtnl_lock();
>>   if (info->queues)
>>   xennet_destroy_queues(info);
>>
>> @@ -1849,6 +1835,7 @@ static int talk_to_netback(struct xenbus
>>   info->queues = NULL;
>>   goto out;
>>   }
>> + rtnl_unlock();
>>
>>   /* Create shared ring, alloc event channel -- for each queue */
>>   for (i = 0; i < num_queues; ++i) {
>> @@ -1945,8 +1932,10 @@ abort_transaction_no_dev_fatal:
>>   xenbus_transaction_end(xbt, 1);
>>   destroy_ring:
>>   xennet_disconnect_backend(info);
>> + rtnl_lock();
>>   xennet_destroy_queues(info);
>>   out:
>> + rtnl_unlock();
>
> ...so this will be an unmatched unlock.
>
> You need to add another label below the rtnl_unlock().
>

Thanks for spotting this. I've sent patches to the list to fix this and
another issue with the original patch.

Regards,
--
Ross Lagerwall

\
 
 \ /
  Last update: 2018-06-21 15:06    [W:3.238 / U:0.992 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site