From patchwork Fri Oct 16 10:58:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?SsO8cmdlbiBHcm/Dnw==?= X-Patchwork-Id: 11841511 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CF00214B5 for ; Fri, 16 Oct 2020 11:00:10 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4F31120872 for ; Fri, 16 Oct 2020 11:00:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b="hQtYr5Ib" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4F31120872 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.7888.20811 (Exim 4.92) (envelope-from ) id 1kTNRc-0005s7-SX; Fri, 16 Oct 2020 10:58:44 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 7888.20811; Fri, 16 Oct 2020 10:58:44 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kTNRc-0005s0-P3; Fri, 16 Oct 2020 10:58:44 +0000 Received: by outflank-mailman (input) for mailman id 7888; Fri, 16 Oct 2020 10:58:44 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kTNRc-0005rq-6n for xen-devel@lists.xenproject.org; Fri, 16 Oct 2020 10:58:44 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 6fa88072-4dfe-4f75-bb3a-ce319564d7e4; Fri, 16 Oct 2020 10:58:43 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id AE1B5AB5C; Fri, 16 Oct 2020 10:58:42 +0000 (UTC) Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kTNRc-0005rq-6n for xen-devel@lists.xenproject.org; Fri, 16 Oct 2020 10:58:44 +0000 X-Inumbo-ID: 6fa88072-4dfe-4f75-bb3a-ce319564d7e4 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 6fa88072-4dfe-4f75-bb3a-ce319564d7e4; Fri, 16 Oct 2020 10:58:43 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1602845922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=IwanLpIcHzmd1jTJgQsiVGDYfgOQtfWilyCT1REryeg=; b=hQtYr5IbceAdXJ9EHBvenVaDqys5gXTxo6VWYp9BbakFbGSGxxZM1NJp0D78LCk8LE+6ac ie3gnI+lb0jFd4oYbUWXdWMqAWUK3q8RIwQxvBwgpl95GHzRZM9q87Jm2ivQslWI+Dpg/D k6dvPSpzArFgHV2exR8x0vTZedJiaww= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id AE1B5AB5C; Fri, 16 Oct 2020 10:58:42 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Andrew Cooper , George Dunlap , Ian Jackson , Jan Beulich , Julien Grall , Stefano Stabellini , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= Subject: [PATCH v3 0/2] XSA-343 followup patches Date: Fri, 16 Oct 2020 12:58:37 +0200 Message-Id: <20201016105839.14796-1-jgross@suse.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 The patches for XSA-343 produced some fallout, especially the event channel locking has shown to be problematic. Patch 1 is targeting fifo event channels for avoiding any races for the case that the fifo queue has been changed for a specific event channel. The second patch is modifying the per event channel locking scheme in order to avoid deadlocks and problems due to the event channel lock having been changed to require IRQs off by the XSA-343 patches. Changes in V3: - addressed comments Juergen Gross (2): xen/events: access last_priority and last_vcpu_id together xen/evtchn: rework per event channel lock xen/arch/x86/irq.c | 6 +- xen/arch/x86/pv/shim.c | 9 +-- xen/common/event_channel.c | 109 +++++++++++++++++-------------------- xen/common/event_fifo.c | 25 +++++++-- xen/include/xen/event.h | 76 ++++++++++++++++++++++---- xen/include/xen/sched.h | 5 +- 6 files changed, 145 insertions(+), 85 deletions(-)