From patchwork Mon Nov 2 15:04:06 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: 11874111 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 00978921 for ; Mon, 2 Nov 2020 15:05:34 +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 B30CC2072C for ; Mon, 2 Nov 2020 15:05:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=suse.com header.i=@suse.com header.b="YKHpv4kB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B30CC2072C 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.17702.42515 (Exim 4.92) (envelope-from ) id 1kZbNV-0001NQ-SA; Mon, 02 Nov 2020 15:04:13 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 17702.42515; Mon, 02 Nov 2020 15:04:13 +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 1kZbNV-0001NJ-PC; Mon, 02 Nov 2020 15:04:13 +0000 Received: by outflank-mailman (input) for mailman id 17702; Mon, 02 Nov 2020 15:04:12 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kZbNU-0001N9-6O for xen-devel@lists.xenproject.org; Mon, 02 Nov 2020 15:04:12 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 6db869b9-c5c1-488e-aa3f-aee8f2395eb6; Mon, 02 Nov 2020 15:04:11 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id CD42BAC53; Mon, 2 Nov 2020 15:04:10 +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 1kZbNU-0001N9-6O for xen-devel@lists.xenproject.org; Mon, 02 Nov 2020 15:04:12 +0000 X-Inumbo-ID: 6db869b9-c5c1-488e-aa3f-aee8f2395eb6 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id 6db869b9-c5c1-488e-aa3f-aee8f2395eb6; Mon, 02 Nov 2020 15:04:11 +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=1604329450; 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=OBSHY70RSdE1JKjBVnT51+G54Dab9ykWCkhn2/kRJ9I=; b=YKHpv4kB72+593ck+Bhh8C2jkWOtQS8B8uhzBRjJR6gKP8zNBeaKw8vPE3awmGL2LqXzbo 3Yv+v55VTQNFw4eaj5X5pfETy7MEW1q9Tfr7Pvsziepd1P3p3NhCWFYyvZFv2AnBnRCUur ntMewqi08NpLbTusJ4YYsa5Ybdo32x0= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id CD42BAC53; Mon, 2 Nov 2020 15:04:10 +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 v4 0/2] XSA-343 followup patches Date: Mon, 2 Nov 2020 16:04:06 +0100 Message-Id: <20201102150408.4954-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 V4: - switched to real rwlock Changes in V3: - addressed comments *** BLURB HERE *** 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 | 120 ++++++++++++++++++------------------- xen/common/event_fifo.c | 25 ++++++-- xen/include/xen/event.h | 55 +++++++++++++---- xen/include/xen/sched.h | 6 +- 6 files changed, 131 insertions(+), 90 deletions(-)