Re: [PATCH 3/4] xen/manage: Guard against user-space initiated poweroffand XenBus.

From: David Vrabel
Date: Mon Dec 02 2013 - 06:27:52 EST


On 26/11/13 16:45, Konrad Rzeszutek Wilk wrote:
> On Thu, Nov 21, 2013 at 11:09:52AM +0000, David Vrabel wrote:
>> On 08/11/13 17:38, Konrad Rzeszutek Wilk wrote:
>>> There is a race case where the user does 'poweroff'
>>> and at the same time the system admin does 'xl shutdown'.
>>
>> This isn't a Xen-specific problem is it? Wouldn't it be better to fix
>> this in generic code?
>
> Possibly. I believe the reason for the reboot_notifier to exist is
> to provide a means to fix the race.
>
>>
>> Especially since I don't think this patch actually fixes the race
>> completely.
>>
>>> --- a/drivers/xen/manage.c
>>> +++ b/drivers/xen/manage.c
>> [...]
>>> @@ -222,7 +230,7 @@ static void shutdown_handler(struct xenbus_watch *watch,
>>> };
>>> static struct shutdown_handler *handler;
>>>
>>> - if (shutting_down != SHUTDOWN_INVALID)
>>> + if (atomic_read(&shutting_down) != SHUTDOWN_INVALID)
>>> return;
>>
>> In guest initiated poweroff at this time will still race with this
>> toolstack initiated poweroff.
>
> No, b/c the reboot notifier would have set 'shutting_down' already.

If the guest initiated power off is started here, the reboot notifier
won't have run yet.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/