Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp3181685rwb; Mon, 7 Aug 2023 09:20:58 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH9fuV/Nogb8lJLrPKZY4V2f2k7rA7E4Zg2yNud9W8LT295XYzQOh6iM4UQeptLCZj9GWiV X-Received: by 2002:a05:6512:4894:b0:4f8:711b:18b0 with SMTP id eq20-20020a056512489400b004f8711b18b0mr5845719lfb.3.1691425257702; Mon, 07 Aug 2023 09:20:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691425257; cv=none; d=google.com; s=arc-20160816; b=B6VKi4RvTjLAtEJblynsStfg/Gtt7p27Rd+E9BKTLWK2oCxOtpN4fRTuunXf5ePsDF +k7xrJi/eFycuhSp4o93MBCHgYL8g9vOwItf/3CaxGqkcBH9aw38jVc4jQGJ3ctOMMiu DZVLFaDhOi3NsrrXc3CE3FrLwXaarBcOjxBIdYlc3xP8VM7xXHkTAn1ZhynpSYpav1Nr 43FIytfgNLdHRyllEvlk5ppql9WMeKxn3pnAUn/vw5TB2/pzuKpXippP4eKtoY33Vtyo Ol+hHIMVzvtlZtMS1NGi+Wsdzk4g3zcH1Ih8pmODDkBQsrQSR9Eo44RgBYPizR/7/tcD IX5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:mime-version:references:subject:cc:to:from :dkim-signature:dkim-signature:message-id; bh=ayByDUJuswmwRg+JdkqaUgq40LVH8XzK6wjgNRkT7J0=; fh=/92WVKYrcN3rA268QXyKzVtm/UtxHeI2lnbU295XDiQ=; b=AJoaHWSJ10Jl1i66VX0mABg245PdtHKTO1k65vNApSAXh2jzWGY0kYhw7IJ2fSwI1k 0AYjgTaYIYCc4QbSzbq/Oy1JTz6TLTJhFpzxVDg47aHJJE/5+ZH9/w2wc1h+xts+B3eS /1OY9he4k0NvJo5Vg4mHLHszDeOAWXOtijwneBqMocYuIwqDj+POrqIwlojVRLxAINKk dZUyVklxBi3imEF/yxGgHXlEy7nqzsR544T3yC2PWgPqBcdIdnBc39EfhzSWhXGudADc 6swSbWfi+f2F1XbPWuBlzQx+Bi5KqAA5sGUlP2FQeSZZ8OlYRrRcYvLvqmd2ZubKLvXI aqPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=V7FUOYfC; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w12-20020aa7dccc000000b00522ab55cac0si5283502edu.192.2023.08.07.09.20.33; Mon, 07 Aug 2023 09:20:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=V7FUOYfC; dkim=neutral (no key) header.i=@linutronix.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234559AbjHGNz2 (ORCPT + 99 others); Mon, 7 Aug 2023 09:55:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41528 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234676AbjHGNyN (ORCPT ); Mon, 7 Aug 2023 09:54:13 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 15D3B1FF9 for ; Mon, 7 Aug 2023 06:53:37 -0700 (PDT) Message-ID: <20230807135028.486658473@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1691416415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=ayByDUJuswmwRg+JdkqaUgq40LVH8XzK6wjgNRkT7J0=; b=V7FUOYfCvGD/WjL1hz+d+jUBSXqy1DJhVjHBHvlzWOx49ih7b+z8Pe3Z5+uLkAELFVl/aR VLKGsCcHj34BJlnqR5RDMZ1G2mHnq1aXUy77opzwjEHaEZmtgJSHnmPhVV91PDEk5Osb7X jVvDcPmKMcXpoByMER5MJm/invKurM1RilwsHT4VeAZwf0ivX23u+nmuOLqTgqx8hfe44a ZbmxmVPuA8S4dsg1AwZz4njC5k+jn2ZXXhJbkaYgoQxh4PiWVL6eZKOlGJBn3uZubIOITV eoasm/VSvYTd2og0tWmh7RsW0pN495wgIiogjUx/RoS5OAwfUBXiHIMdCNfsFA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1691416415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=ayByDUJuswmwRg+JdkqaUgq40LVH8XzK6wjgNRkT7J0=; b=Xs3/S9inXz+zznJfqErs4MVyDfMdQjvATNjIst7qOCoxxN5ZOTE9gFe1rO+DqQWh+O9/zy gWZ28HkVx5sWbfDA== From: Thomas Gleixner To: LKML Cc: x86@kernel.org, Tom Lendacky , Andrew Cooper , Arjan van de Ven , Huang Rui , Juergen Gross , Dimitri Sivanich , Michael Kelley , Sohil Mehta , K Prateek Nayak , Kan Liang , Zhang Rui , "Paul E. McKenney" , Feng Tang , Andy Shevchenko Subject: [patch 39/53] x86/cpu/topology: Reject unknown APIC IDs on ACPI hotplug References: <20230807130108.853357011@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Date: Mon, 7 Aug 2023 15:53:34 +0200 (CEST) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The topology bitmaps track all possible APIC IDs which have been registered during enumeration. As sizing and further topology information is going to be derived from these bitmaps, reject attempts to hotplug an APIC ID which was not registered during enumeration. Signed-off-by: Thomas Gleixner --- arch/x86/kernel/cpu/topology.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/arch/x86/kernel/cpu/topology.c +++ b/arch/x86/kernel/cpu/topology.c @@ -237,6 +237,10 @@ int topology_hotplug_apic(u32 apic_id, u if (apic_id >= MAX_LOCAL_APIC) return -EINVAL; + /* Reject if the APIC ID was not registered during enumeration. */ + if (!test_bit(apic_id, apic_maps[TOPO_SMT_DOMAIN].map)) + return -ENODEV; + cpu = topo_lookup_cpuid(apic_id); if (cpu < 0) { if (topo_info.nr_assigned_cpus >= nr_cpu_ids)