Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp2911222pxb; Tue, 24 Aug 2021 10:24:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDqaFImZstCLl14L/xV8xOX6DhmkamyfAyD6J9F3uUOwrtSz7/W4pSDNpyA4Sna2bs13D7 X-Received: by 2002:a92:c56b:: with SMTP id b11mr8808593ilj.225.1629825889398; Tue, 24 Aug 2021 10:24:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629825889; cv=none; d=google.com; s=arc-20160816; b=CIvSG6PjHwnFo5i0m78z8hi7TXpBcrHMwiVjbz4lGTk86kIs1BMqM4vK9uccyFC8rO OMR51uV1DrFZ1dU6Jitry+QhPIWfaZ3tm5nmp66/bKhxaU8EdWNuAFWGJCVFtmae/Qac iWAyUJnnw3MbHNmqy6mtmy5YKmedcAvU2shuC03ndZu1LEQgPF/kyBN+tLR0sms8k17B szFFT/C/nXAIaDdkOhIWcR+T9m02L9txaj2ue49vjMfa4uik4WwWuZpEVBxybbBZRsJO uaynml4GsP6ZCq4QG2irUKbcbyrqKWNdve4+xWA+PC4E+1yiTHBBSuUwVWqOVwZHMeGp P58Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Mz5Q0IQDO8oHmmYpLGEWmfll6JgGdTb/sqUubysExpc=; b=rLtOtrFhEK0NvK0OpSg4Qu2SYOqCoRjcfyE69YZ1VBKNey9nDJlZXGt50e2PAL6sbs BUQ72FHr4C9nWhgXc8kTsVBn8x9W+/EXqbchbROqg4rkx8YGdBUfLdStQiA84ZHdnGOq sxggH66tLBX/yPAI3yg9VGqYUudeEKt5Bqr2kMRFgfIOfU1ATKnJSlhasbeOGydCDgD+ 1fnjaYrun80rrFdihVhWlRkAxajsnDBB3ij56a+3I58CcNF3xh4CQEl7GzxkdVzEyJHL 5+N9p+wFnCfuS3z3fKWV+oTPPRan6mgbfD/aSlp6/BZyrlWRNHeRi0NQvf950yrWanzy 210w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SNm1alv9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w4si17699277ioa.95.2021.08.24.10.24.35; Tue, 24 Aug 2021 10:24:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SNm1alv9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239441AbhHXRXs (ORCPT + 99 others); Tue, 24 Aug 2021 13:23:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:59744 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240309AbhHXRUv (ORCPT ); Tue, 24 Aug 2021 13:20:51 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5549B61AFE; Tue, 24 Aug 2021 17:03:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1629824598; bh=vjhx9QaUF1cYhAou2qRTGUOQ/2gopYijrcJTqCGNfuU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SNm1alv9Mm2WvYQpiPZJFoP+urnNor4SRd54IhQhBVFucWTOjUhrhpF2lwYfzQoCW 9E7xt9krSkm7PAyxjUAJxkhSkXcS/PKuD3tr/t8isuQlV4GXVZeeYOX1fC09/vthJT vhtAt1+aOQblDB5R0AXz20fSmegPC7xwSUd18sn5mEUevaXW3RkEHeNC07R8jL/bM7 FLoKTiOi3EaC25AGwubytKn2nuB4K4nhojx7S6rYQjUPhmHjj/NN0ibx3a/Sz6HvmR Gu9H6tuq3HgzUc1FZ9j3LKYQr8tVqndJAICdOLb6i/55SAgIJK8dVooIsO7RlELRd5 y7FA8OI15GiuQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Thomas Gleixner , Marc Zyngier , Greg Kroah-Hartman Subject: [PATCH 4.19 28/84] x86/ioapic: Force affinity setup before startup Date: Tue, 24 Aug 2021 13:01:54 -0400 Message-Id: <20210824170250.710392-29-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210824170250.710392-1-sashal@kernel.org> References: <20210824170250.710392-1-sashal@kernel.org> MIME-Version: 1.0 X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.19.205-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-4.19.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 4.19.205-rc1 X-KernelTest-Deadline: 2021-08-26T17:02+00:00 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thomas Gleixner commit 0c0e37dc11671384e53ba6ede53a4d91162a2cc5 upstream. The IO/APIC cannot handle interrupt affinity changes safely after startup other than from an interrupt handler. The startup sequence in the generic interrupt code violates that assumption. Mark the irq chip with the new IRQCHIP_AFFINITY_PRE_STARTUP flag so that the default interrupt setting happens before the interrupt is started up for the first time. Fixes: 18404756765c ("genirq: Expose default irq affinity mask (take 3)") Signed-off-by: Thomas Gleixner Tested-by: Marc Zyngier Reviewed-by: Marc Zyngier Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20210729222542.832143400@linutronix.de Signed-off-by: Greg Kroah-Hartman --- arch/x86/kernel/apic/io_apic.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index a89dac380243..677508baf95a 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -1958,7 +1958,8 @@ static struct irq_chip ioapic_chip __read_mostly = { .irq_set_affinity = ioapic_set_affinity, .irq_retrigger = irq_chip_retrigger_hierarchy, .irq_get_irqchip_state = ioapic_irq_get_chip_state, - .flags = IRQCHIP_SKIP_SET_WAKE, + .flags = IRQCHIP_SKIP_SET_WAKE | + IRQCHIP_AFFINITY_PRE_STARTUP, }; static struct irq_chip ioapic_ir_chip __read_mostly = { @@ -1971,7 +1972,8 @@ static struct irq_chip ioapic_ir_chip __read_mostly = { .irq_set_affinity = ioapic_set_affinity, .irq_retrigger = irq_chip_retrigger_hierarchy, .irq_get_irqchip_state = ioapic_irq_get_chip_state, - .flags = IRQCHIP_SKIP_SET_WAKE, + .flags = IRQCHIP_SKIP_SET_WAKE | + IRQCHIP_AFFINITY_PRE_STARTUP, }; static inline void init_IO_APIC_traps(void) -- 2.30.2