From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: [PATCHv3 0/2] Xen: FIFO-based event channel ABI fixes Date: Mon, 11 Nov 2013 16:03:26 +0000 Message-ID: <1384185808-13822-1-git-send-email-david.vrabel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Keir Fraser , David Vrabel , Jan Beulich List-Id: xen-devel@lists.xenproject.org This series address two design flaws in the FIFO-based event channel ABI. 1. Fix a potential DoS caused by an unbounded loop when setting LINK. 2. Fix queue corruption that may occurs when events are moved between queues. In this patch we add a q field to struct evtchn rather than an (last_vcpu_id, last_priority) tuple. An updated design document is available from: http://xenbits.xen.org/people/dvrabel/event-channels-H.pdf - Add the BUSY bit to indicate that the guest must not clear MASKED. v9 of the Linux patches will be posted shortly. Changes since v2: - Use a new BUSY bit to block guests from clearing UNMASKED, this is lower overhead than the previous solution (which required a hypercall). - Fix another problem with moving events between queues. - Add evtchn->last_vpcu_id and evtchn->last_priority instead of evtchn->q. This keeps the structure at 32 bytes long. Changes since v1: - Add MAINTAINERS patch - Remove some unnecessary temporary pending state clears - Add fix for DoS