lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1603111219450.5298@hypnos>
Date:	Fri, 11 Mar 2016 12:26:08 +0100 (CET)
From:	Anna-Maria Gleixner <anna-maria@...utronix.de>
To:	David Vrabel <david.vrabel@...rix.com>
cc:	linux-kernel@...r.kernel.org, xen-devel@...ts.xenproject.org,
	Boris Ostrovsky <boris.ostrovsky@...cle.com>, rt@...utronix.de
Subject: Re: [Xen-devel] [PATCH] xen/events/fifo: Add missing hotplug notifier
 transition

On Fri, 11 Mar 2016, David Vrabel wrote:

> On 11/03/16 09:00, Anna-Maria Gleixner wrote:
> > The evtchn_fifo_cpu_notification() hotplug callback lacks handling of
> > the CPU_UP_CANCELED case. That means, if CPU_UP_PREPARE fails, the
> > handle of the fifo events is not dropped.
> > 
> > Add handling for CPU_UP_CANCELED transition to drop the fifo events
> > handle.
> 
> __evtchn_fifo_handle_events() does not releases resources, it processes
> any pending events for this CPU.
> 
> This patch would only be necessary if a CPU in CPU_UP_CANCELED state may
> have had unmasked interrupts.  If so you would need:

Thanks for the explanation

> case CPU_UP_CANCELED:
>           if (per_cpu(cpu_control_block, cpu))
>               __evtchn_fifo_handle_events(cpu, true);
>           break;
> 
> To handle the case where the control block allocation or initialization
> failed during CPU_UP_PREPARE.

This would not be necessary, because if the CPU_UP_PREPARE of this
notifier fails, the CPU_UP_CANCELLED of this notifier will not be
invoked.

Anna-Maria

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ