From nobody Sat May 2 01:01:00 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1776253071; cv=pass; d=zohomail.com; s=zohoarc; b=gvHETu8enHoVNPg9/UMv6kmoapCTP0znTOoDl1Dtsebhr7wun+OvsZoEHD8HEl3o0j37YXMTu8+9Fi82vN0j8FLakf7KGqJSNlM+AI8elpkbRhFueRCd06LTLrx9OylpwtAVjdTBYbDxyAw7Irww27X7XgaX3d3yo3rFS/Rv+wI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776253071; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HcZupUjCihrhH4fumGKyczgJktfm1ndcrphTiFO0/vw=; b=azNpCf3dQoi3aSmwoKAp8P1C1ZKe4kjhfw0LOsmXAD8JAsKxZ5lqEEcdKIYxYKPxlFAY0Lx8rewwvTGvqoD4cUoyNaze2108Gmotmxw5n9+eAAcuELyYlXno4izdNVrHZYRd3Sh6yk+gMlo98eosAv5a1qFvl/cE1ucTnnItGSQ= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1776253071933193.73409000406298; Wed, 15 Apr 2026 04:37:51 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1282279.1564890 (Exim 4.92) (envelope-from ) id 1wCyYc-0002GC-Ad; Wed, 15 Apr 2026 11:37:22 +0000 Received: by outflank-mailman (output) from mailman id 1282279.1564890; Wed, 15 Apr 2026 11:37:22 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYc-0002FB-6r; Wed, 15 Apr 2026 11:37:22 +0000 Received: by outflank-mailman (input) for mailman id 1282279; Wed, 15 Apr 2026 11:37:20 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYa-0002Cp-C8 for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 11:37:20 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wCyYY-00AKCO-77 for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 13:37:19 +0200 Received: from [10.42.69.2] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69df786c-2eae-0a2a0a5409dd-0a2a4502cab0-16 for ; Wed, 15 Apr 2026 13:37:19 +0200 Received: from [52.101.52.4] (helo=BL2PR02CU003.outbound.protection.outlook.com) by tlsNG-720697.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.0) (envelope-from ) id 69df786d-42fa-0a2a45020019-346534042a1c-4 for ; Wed, 15 Apr 2026 13:37:19 +0200 Received: from BYAPR02CA0068.namprd02.prod.outlook.com (2603:10b6:a03:54::45) by CH3PR12MB9729.namprd12.prod.outlook.com (2603:10b6:610:253::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.20; Wed, 15 Apr 2026 11:37:14 +0000 Received: from CO1PEPF00012E80.namprd03.prod.outlook.com (2603:10b6:a03:54:cafe::42) by BYAPR02CA0068.outlook.office365.com (2603:10b6:a03:54::45) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.50 via Frontend Transport; Wed, 15 Apr 2026 11:37:14 +0000 Received: from satlexmb08.amd.com (165.204.84.17) by CO1PEPF00012E80.mail.protection.outlook.com (10.167.249.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17 via Frontend Transport; Wed, 15 Apr 2026 11:37:14 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Apr 2026 06:37:13 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Apr 2026 06:37:12 -0500 Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Wed, 15 Apr 2026 06:37:11 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kfYRO1QDCIAK590ECS1om9S1rrzkEjLTM8KKSsIzns9qKslHklP8Sb2QI0yJa2d99a5IHhIooB7OudHmRKyH5JOMa3j4SBNHpzERziuvb2Cdq4ayLT6akMXowpjhFZAs+/X9UD5BEq9+kz/8EyP+ZHCNz0sNyZo/3/XXyaZNRWWddZd7TwjGFNP3L5KdMNWTNq0hPs/kSox6K05RdVWGIHXjwW3OTFEUMcR+I0vzi6ozlhfcdo1CyqLksHknl4YGSDiIFJXahEqxe7Eiqfef8iIuRpduk2XnxbjtvznM6CzH7FgWVYqsYPacvfh5ekG2dEVqmJUoEfTQzPTQgdt5WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HcZupUjCihrhH4fumGKyczgJktfm1ndcrphTiFO0/vw=; b=TN1btHVWbTXJ1+HDdQAds2PAafw5JW+MCYc/ACQpFx7Ga8W+3/QX3tBYzPTO8vPX5IZSrMOcMo2Y6y8RD49haW6ImrYj9VwKZP58qVNtCB9yfamHlNCEU4BdIN+AupzfEBl3Z+hbw6fbMkfoRSiMdKHRCPaM5JIVkWm0Rp8kyr8k422C9VsXqruJQ7ZD3B9qzphTsT0OLnStIr2XAyZwqYohYRxgyX0IxXXUbb+F++i1eqXYFphtRquBFUHPD/rHzTg0K/BJzdiYp4y0z/m5eJoNfGRpvtbZb1XvWhGqzzw9sOo1e0WzrlLzVZYiPcgx2nrMcs96h2JQkb66kREnqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HcZupUjCihrhH4fumGKyczgJktfm1ndcrphTiFO0/vw=; b=uyGGa5fOADXzEn8OZWcudjuuIBd3hc72vx5piG7laL4bkxiUIJQSciwRe9U+hPRxe3L1xczBYPqiKYq0ETJ93y7n4N2nGJeGNNOPcJOwMLg/aUer4AXiGAhpBFo5F7m4FfhIVvmgJJbQh/76X7OLIO2r2tj67z4sCHIJrjdyhkk= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C From: Michal Orzel To: CC: Michal Orzel , Stefano Stabellini , Julien Grall , Bertrand Marquis , Gyujeong Jin Subject: [PATCH 1/6] xen/dt-overlay: fix double-free of rangesets on attach failure Date: Wed, 15 Apr 2026 13:36:55 +0200 Message-ID: <20260415113700.107915-2-michal.orzel@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260415113700.107915-1-michal.orzel@amd.com> References: <20260415113700.107915-1-michal.orzel@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF00012E80:EE_|CH3PR12MB9729:EE_ X-MS-Office365-Filtering-Correlation-Id: d43d5f58-3a0a-4e4d-6356-08de9ae35720 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700016|1800799024|22082099003|56012099003|18002099003; X-Microsoft-Antispam-Message-Info: e0Qmfy7XBtb55aK1MYyjv28/DhSrp7BdXWuiQLsgObXzRVhieKaooicCfWCH6b02gZoHzdoJa5p8BizCf5sIgiGHiq6RmyRsLfcRvn7V5SoBu/6TIXPXDUpun5SZ89Qs6lVr3eYy95P+Ci5GqdoBV3E71oU0bILLbs9YPrdSBKiokdn+/8o/s6S5mHlWoH4mgi7XFBmhRhQYrSoYODXbjWdawtk7oA0culZIpOOb6ifoG2PjU1jhYamUvJ+y7nWL8hE/vjqXUHzjertf+MVQi4pbJeQj9mbnIQytQG2XuY4a1dpOZ+8N1P31kK2H9i251i3pmvuVciPokaA619E6cw1s+FKXtTnnKY0YOxJYponsKb3EzDkb1fCPs2Xpv5tmP7YliV8bKglezxuOfDRgdeIReq0zEB9u10c3YPFwKoVKjztKm5FezJxhpRTGVScLwtcV/O9eZNxUtA6Nyky8gijB0X4QAwmnM9iGSb9BFohvHrBl8hVuJtQJ2VoMrjLfi2VriuqFkMymbIL5UlARPkA2baLw/ebUesUkr1DadamK/JmR8Tyw3f9KnQRj/oWS4eYVek+KNrmBOzojEe3vyGiPO4LjgIa5qgOJFkOEzGdMpjrUNlrw4tjij4xWcKXxYmtJO+pEJvph1zS8ObA8GiDlvj0kUzDr2pPlH1vCt3HF12pgN3ywCmsLb7+7HSBozMPSlPmCCIxXvRQNaAoyNPexVqKXRgMG2g8BvlpU+rC1AB625i/9xI3gfnrvqYttV3r3OpnNpdgk+2ewWdnHaw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700016)(1800799024)(22082099003)(56012099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: j4s5c15RwMLaov4Zih+EK8Tk4j9X7FaD0DvzjhBHNil6PtDDet+4On0iaDeWIBO5InI44jVzBByASb6u6cpQImoW7lAjy6HrmW+d6ICcLSy9FMJCE1LeOvPPCce6bUNK5DlcSIb16GFbEAZzOZIrjsmHcmOzBKIlEXDqfsVN4dNHGdm5cx0IMrRYWNiB5Ir0HBnqBbciOisuIIHfVQqpBcyDfdGe9ku+B4fQgD6JGjpDIeLN8FBcX0NMohu6E1GSuQklJH7sfODkOacjwawnAnxQwNcTCKF4rSINPhMjoZFtl+eMWue7Pn+G5+09UttVU2cUgFOLKw2RIgMZxosqfbVjxmsb8pgiJGPZWmYZ5ghdSLeSIxmiYI3EtF/oMofZjXElrXONQ1gJ37FaqFJP/1et9Fe7hRjD1t52Ucud30hyJ2bQhU4EeFgwlL5S0pH9 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2026 11:37:14.2084 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d43d5f58-3a0a-4e4d-6356-08de9ae35720 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF00012E80.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9729 X-purgate-ID: tlsNG-720697/1776253039-AD93ECD1-EE44A305/0/0 X-purgate-type: clean X-purgate-size: 1287 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1776253073027154100 Content-Type: text/plain; charset="utf-8" handle_attach_overlay_nodes() destroys the IRQ and IOMEM rangesets on failure but leaves the pointers dangling in the tracker entry. A subsequent handle_remove_overlay_nodes() for the same overlay will call rangeset_consume_ranges() on freed memory followed by a second rangeset_destroy(), resulting in use-after-free and double-free. NULL the pointers after rangeset_destroy() so that remove_nodes() and handle_remove_overlay_nodes() skip the stale entries. Fixes: 4c733873b5c2 ("xen/arm: Add XEN_DOMCTL_dt_overlay and device attachm= ent to domains") Reported-by: Gyujeong Jin Signed-off-by: Michal Orzel Acked-by: Stefano Stabellini Reviewed-by: Luca Fancellu --- xen/common/device-tree/dt-overlay.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/common/device-tree/dt-overlay.c b/xen/common/device-tree/d= t-overlay.c index d184186c015e..6fa07dbf42a5 100644 --- a/xen/common/device-tree/dt-overlay.c +++ b/xen/common/device-tree/dt-overlay.c @@ -910,7 +910,9 @@ static long handle_attach_overlay_nodes(struct domain *= d, if ( entry ) { rangeset_destroy(entry->irq_ranges); + entry->irq_ranges =3D NULL; rangeset_destroy(entry->iomem_ranges); + entry->iomem_ranges =3D NULL; } =20 return rc; --=20 2.43.0 From nobody Sat May 2 01:01:00 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1776253076; cv=pass; d=zohomail.com; s=zohoarc; b=Uhdwb3tP/n157AKxym1pcwoe93E9CYvvmOShmX+HFLts1Ar0ZDDznxZqGvLis49cYGzh+xnDu1Up3pF96t1QcA6ESg3Z+kTKu8A/Bf6BJOIct6fzNNbcVbFj/NP5E6yg2TbInwP4TXwLzCqQOWFuxHL9ibQzfwFMhTudFHvJU0Q= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776253076; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EZfueW+bKtEtsepdRhebqYHJ0nLM0ZVvpZlJIzZj62s=; b=iw+Tsj92b24JkXeO5WxSZrFQq9KMp6pvVRAjr7i4uadGVICtDBy3XsAAYlajB5c50NXvpCy9/HZzH6GH7FyJt+mePxiMw1kSLQGVJ/HGW7bhLszTR4joorcoIsWNJAzudHCDYXeN/tLNvfSbU2HwTrxMzjoOMff3zgAHhCuX15A= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1776253076821593.9439494204396; Wed, 15 Apr 2026 04:37:56 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1282281.1564912 (Exim 4.92) (envelope-from ) id 1wCyYf-0002rD-TK; Wed, 15 Apr 2026 11:37:25 +0000 Received: by outflank-mailman (output) from mailman id 1282281.1564912; Wed, 15 Apr 2026 11:37:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYf-0002r6-PH; Wed, 15 Apr 2026 11:37:25 +0000 Received: by outflank-mailman (input) for mailman id 1282281; Wed, 15 Apr 2026 11:37:24 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYe-0002d0-7r for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 11:37:24 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wCyYd-00EiIN-Kx for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 13:37:23 +0200 Received: from [10.42.69.7] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69df786a-5cb7-0a2a0a5109dd-0a2a4507bd00-42 for ; Wed, 15 Apr 2026 13:37:23 +0200 Received: from [40.107.200.54] (helo=CH5PR02CU005.outbound.protection.outlook.com) by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.0) (envelope-from ) id 69df7871-ba2d-0a2a45070019-286bc836ac84-3 for ; Wed, 15 Apr 2026 13:37:23 +0200 Received: from BYAPR02CA0043.namprd02.prod.outlook.com (2603:10b6:a03:54::20) by LV2PR12MB5824.namprd12.prod.outlook.com (2603:10b6:408:176::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9791.34; Wed, 15 Apr 2026 11:37:15 +0000 Received: from CO1PEPF00012E80.namprd03.prod.outlook.com (2603:10b6:a03:54:cafe::6) by BYAPR02CA0043.outlook.office365.com (2603:10b6:a03:54::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.49 via Frontend Transport; Wed, 15 Apr 2026 11:37:15 +0000 Received: from satlexmb08.amd.com (165.204.84.17) by CO1PEPF00012E80.mail.protection.outlook.com (10.167.249.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17 via Frontend Transport; Wed, 15 Apr 2026 11:37:15 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 15 Apr 2026 06:37:14 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 15 Apr 2026 06:37:14 -0500 Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Wed, 15 Apr 2026 06:37:13 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eIOVP1pq34duUHo5i2GxCl23UlwJTbMy5nxJphsYdCuqdn5dVU0JNcV4098vB59WAHcF0iABR4g3n7QKCNCECPG9bm5wLfoHjeazfJsI5uCqzps8ZgcTHqObFu5hzsp1oxYu2OUce7vJ7sKTVmHkCQ668T7OH2r6ZaTVy5tRpjTl3R0nGQe5YXZLHv4Pk3yKqsWkHHoDfxD5suCJ8qHGtFRseG4JTMaRqIpzYwvl+4svGX8zscAUG0Df5KBkl7Z0Pan37Z5Sg+BacybO4YUG62XbUC1gZeoWOHiUYHmIkK7Jq8mXt3ZhMrfvSLdN+muHzS4AwraLp6XQI2GKoakALQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EZfueW+bKtEtsepdRhebqYHJ0nLM0ZVvpZlJIzZj62s=; b=lEaXK0HisMtgZXPLUUFLrynEtYWUmG0WKOV0n4wsrI0XfBw6r1suvNRQ+RQZtofWWwswN6BTa56+qRHveSwRVcG4EbprDDVOffiblIp6qIHbLstJMGvfE73Qi/ppIZTD2gG8loUFpwmtCz1XCGZi+l4k5AmJgZm0kpSVTXdkANs9SlnrBfRN6lq88ePzXr3CbIA7Vf2+Pe/mrxrE99Vv+wQXccvB4QEaPXnIDjEC+G0wtsOSh9PCJn/gnNv9C3JLOEDBppgQ6Y1d5baMzTQG0QxRtBpTh9k+BP2YaDQynbO5C3FN6NhO7HtrGHvIfhuE+6/vm1lDYI2wg9UVwW3J9A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EZfueW+bKtEtsepdRhebqYHJ0nLM0ZVvpZlJIzZj62s=; b=OzfMrVrA4AmoDbJP4E59sNfkcNsYP1zvnATR+21kIJLfg2RTjNQLP5MycEUEctk7FXWZllr38SJHtyjWyeJ5EunxLfZ3BsIimrnEGBzlBKnL9f9a4mOCnehPmsxrwNGsZLyF6rxjPXkK9vRg/zxmDzfgWE9+3l1UhKNIuo3LQyY= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C From: Michal Orzel To: CC: Michal Orzel , Stefano Stabellini , Julien Grall , Bertrand Marquis , Jan Beulich Subject: [PATCH 2/6] xen/dt-overlay: fix rangeset leak and dead code in domctl path Date: Wed, 15 Apr 2026 13:36:56 +0200 Message-ID: <20260415113700.107915-3-michal.orzel@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260415113700.107915-1-michal.orzel@amd.com> References: <20260415113700.107915-1-michal.orzel@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB04.amd.com: michal.orzel@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF00012E80:EE_|LV2PR12MB5824:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a18a0f7-b228-4b80-4af8-08de9ae357a7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|82310400026|376014|1800799024|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: qPO6hjxaGQmUMM0azdX7IAkw1TgaZHb8DRgEvjRavQu0YShdXRCgkYVLVrl0uWVAfOe2FRlRchX+t1tytk6diDC5BW256Fh0hoWD36VkaFd/qvn0iTcSac3PdsBCZvSEwdYaXtgORC30W2cng/Lq6YMuoIzr8bm8ZVLExscF1FaMAMO4mmkYLVWhThjYJ4tQVXvjRxfa2XpIZJLgnTn7x/v6iDZO5O4dhFl7Z4Jh/3RXdqr7/paaXgPOrKMv/pEDkPk8jUMG3ozO2SVPr95bUuhRokF9autwIKbzrQizhcCkv5lNNCMWdIb8jnvDTpFoqDV8EUtzccu+uXbPNbVQn4UmSqJwlDtjJJji8O62C8chZ6mPPAp3l1WQ/ibjx8n51bfujvNmhjc8xm43ufyMTXHHVTts2koAepmomyVjPgSuJTIEeMm4Xf/hodJE8TouLhDTu+XrshSTSa6x+aLgK+rosZlN0Xbf/qT9jqVYnTf9ZqqYwM9TGsxXxrkqDmyMoZd5JFyX/ZAUQoGChRGsc5UkBPpIRmtHAPJdk35umU6JQDblQMXd6WVyj6ViTnEG9GY76n0ZIa2AMW05EpbwC0Su3W9eP5kV2GX8kF/RMUnxc7F28qITxQ5o4kboCSGG//xejKcV2Edss0zbuBmaGvSazMh6dlypELKJEzKWxvXNy6pc6m9/rtREo9ZszAQUtnME880U0uKdP/QNjhcqkSJobRaaD7nBUUKI+ELhKEprzjgSMAqwUIM5XS3NXdWjYARgSdoLgjzEAt2P9iwC1g== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(1800799024)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: r8eGcTweoxaoizso/jawi6TBDH9VsDrrV405uLEjr/LX4WjStm3Gh08q8uSuDs8mfBB1vOBlqWE6weWaG0BXC/0ZXtuAeISFaGa9FLO9ODUMex45TSn8P3YnWAUjDUOVyz32K7dUIWB/UL5u026Q/ta4ha43py1rTzzgVpAxSsFFjGEBBxW0wnTASQsHnNYZB5z95PpVrhGxl2pMM3OByQYXOFKNawJ55706RqbcMvMTcQZcPyPjpR1BAIJXWevX9f4lRwVh175V1q78S+sc9imVWY1mZ8TfzEE1L9g61Lo/ALyw90y4sqjVaEwLenS5JEbJgya/Qe6BMcYdIV6M92Bc7JmhCJxDuGr/oZMap4shNu+IPVHItcTftjo6Lzu7cr65Fl0YHH+jF9183IahoBKQyWBH+GCRAT66hP+jI7WsiVcaBWH4g4FhuwTZeov+ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2026 11:37:15.0932 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a18a0f7-b228-4b80-4af8-08de9ae357a7 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF00012E80.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5824 X-purgate-ID: tlsNG-ef75cf/1776253043-13D4741E-B85B477E/0/0 X-purgate-type: clean X-purgate-size: 1822 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1776253078494158500 Content-Type: text/plain; charset="utf-8" handle_attach_overlay_nodes() unconditionally creates new rangesets without checking whether they already exist from a prior attach. A repeated attach for the same overlay leaks the original pair. Reject the operation with -EEXIST if rangesets are already present. Also, dt_overlay_domctl() early-returns -EOPNOTSUPP for any operation other than ATTACH, making the if/else at the bottom unreachable. Remove the dead branch. Fixes: 4c733873b5c2 ("xen/arm: Add XEN_DOMCTL_dt_overlay and device attachm= ent to domains") Reported-by: Jan Beulich Signed-off-by: Michal Orzel Acked-by: Stefano Stabellini Reviewed-by: Luca Fancellu --- xen/common/device-tree/dt-overlay.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/xen/common/device-tree/dt-overlay.c b/xen/common/device-tree/d= t-overlay.c index 6fa07dbf42a5..3853e6e347fe 100644 --- a/xen/common/device-tree/dt-overlay.c +++ b/xen/common/device-tree/dt-overlay.c @@ -861,6 +861,13 @@ static long handle_attach_overlay_nodes(struct domain = *d, goto out; } =20 + if ( entry->irq_ranges || entry->iomem_ranges ) + { + printk(XENLOG_ERR "Overlay is already attached\n"); + spin_unlock(&overlay_lock); + return -EEXIST; + } + entry->irq_ranges =3D rangeset_new(d, "Overlays: Interrupts", 0); if (entry->irq_ranges =3D=3D NULL) { @@ -991,10 +998,7 @@ long dt_overlay_domctl(struct domain *d, struct xen_do= mctl_dt_overlay *op) return -EFAULT; } =20 - if ( op->overlay_op =3D=3D XEN_DOMCTL_DT_OVERLAY_ATTACH ) - ret =3D handle_attach_overlay_nodes(d, overlay_fdt, op->overlay_fd= t_size); - else - ret =3D -EOPNOTSUPP; + ret =3D handle_attach_overlay_nodes(d, overlay_fdt, op->overlay_fdt_si= ze); =20 xfree(overlay_fdt); =20 --=20 2.43.0 From nobody Sat May 2 01:01:00 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1776253074; cv=pass; d=zohomail.com; s=zohoarc; b=c865Kda+0++O291lMo9YOGRN3gXbtozbW4Tn/Vv8HrMWmvIrelsykKjsgJFvbNOc6TTCiuFD7L6O1E3VbQwwrlCYOlaW/1vdpxR7hMPeBAIHLbWDp4vhI+6Ujm37fkMcj0AehZJcR3W4f6UbD7pftkPyLzeBI1dsBhyudnrdbxQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776253074; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6QvN1netQKCnwaqY6XX9r+J1KJJsy3StwsOiX7PZDs4=; b=DREnk6N3KyPi3FW6rGZbE231xJ8s56GUWLp1PEIhGTbTKv/f5Taa7hlUh0gZ7VhiQILbNTXwEKOphD55OU5aMh5sp7rBRspqgmqTFPCArvwHPiP/LdGeM1qp9R828RHWeUBG0e/Cpf0PTmxSET0ohPqWL+C/dVhjXktScuplJrY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1776253074285901.0674047172198; Wed, 15 Apr 2026 04:37:54 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1282280.1564905 (Exim 4.92) (envelope-from ) id 1wCyYe-0002dI-Ih; Wed, 15 Apr 2026 11:37:24 +0000 Received: by outflank-mailman (output) from mailman id 1282280.1564905; Wed, 15 Apr 2026 11:37:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYe-0002d9-Db; Wed, 15 Apr 2026 11:37:24 +0000 Received: by outflank-mailman (input) for mailman id 1282280; Wed, 15 Apr 2026 11:37:23 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYd-0002Zz-9z for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 11:37:23 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wCyYb-00AKCb-4s for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 13:37:22 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69df786b-bab6-0a2a0a5309dd-0a2a450ba234-30 for ; Wed, 15 Apr 2026 13:37:22 +0200 Received: from [52.101.193.47] (helo=CH1PR05CU001.outbound.protection.outlook.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.0) (envelope-from ) id 69df7870-bca8-0a2a450b0019-3465c12f572e-3 for ; Wed, 15 Apr 2026 13:37:22 +0200 Received: from BL1PR13CA0167.namprd13.prod.outlook.com (2603:10b6:208:2bd::22) by PH7PR12MB7306.namprd12.prod.outlook.com (2603:10b6:510:20a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.20; Wed, 15 Apr 2026 11:37:17 +0000 Received: from BL02EPF0001A103.namprd05.prod.outlook.com (2603:10b6:208:2bd:cafe::2c) by BL1PR13CA0167.outlook.office365.com (2603:10b6:208:2bd::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.48 via Frontend Transport; Wed, 15 Apr 2026 11:37:16 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF0001A103.mail.protection.outlook.com (10.167.241.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17 via Frontend Transport; Wed, 15 Apr 2026 11:37:16 +0000 Received: from satlexmb10.amd.com (10.181.42.219) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Apr 2026 06:37:16 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb10.amd.com (10.181.42.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Apr 2026 06:37:16 -0500 Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Wed, 15 Apr 2026 06:37:14 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YujAX0BwNy/b/M33ko7MdpwKKg7RfYPFyALesCI+WGWFDXMSQ6h2wtpSCmuZMq+UClCqvT28aLYW0835zEH2CxZoXLfDYJHac0JveY7AYO7oSBR+uZWE6oFcviBIyByJYXN3Ofld6r++W3R+xddvrfsyIiWpmWTFl3mP+0cvUhuvmpakQuouVGpCUtuUVK5Su8SbFiN0fmfgOw/zucy7sNLT7+6hR4L/PKHOXuK9ov3mB6nQId2w0dMVyBU+C2X1h9zV/Bo5oA9maBDB+ZenkNJ0IFli+c9zwi8/PLFj8z4yMzG4JH6HrwoHDpK3yiK47U0NoHMnvHsN7sdIisc2FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6QvN1netQKCnwaqY6XX9r+J1KJJsy3StwsOiX7PZDs4=; b=h2scQRRc6ycB7EIUbOJVEhsiuhUPkyWmy5Ar5hqYD+BibRv5UH/+LIKwAs8XnWJyvH9q6pq6E9ZbSPk9m/6MMDjDXvt7hXzy0OPJ44rg4zkKZQpO9w9En4gxf8jOZjOB/YrGpQIjHvqlX08AjD4mKyacS4rswmZY2KjKulsoRhwwm9NBnBg9m9ISbTEoiMlqeYgUJopNroSyXiSPNntHtmYaFLhOaDnzztHc7bFn/IX9NcMJHYTjWaP8DOzl3BhVN+przPilphLJe887HnKODEUX5GGfkQl8+sk+yGaMrgVKZ2LnL3y8Q3YMHGGaou52M8DSvJB0f1ME6hAdSPZd4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6QvN1netQKCnwaqY6XX9r+J1KJJsy3StwsOiX7PZDs4=; b=b40bMIPFlziQ5yY7pjU0U/nhqNmHxj7p6P7gR+47mXmAhnGNGYTlp8SMgiv2W0dKwY5M0VejZY7U4PX0gwZRyhlz+4sq60Z4HlH6bmZJIeZoMUVzbXQXpxcZuZj0dHY8dY3hA5fwsKtGuo8rY5dpJyhST1aGs6K/zRAPjrmS75E= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michal Orzel To: CC: Michal Orzel , Stefano Stabellini , Julien Grall , Bertrand Marquis Subject: [PATCH 3/6] xen/dt-overlay: check overlay size before memcmp in tracker lookup Date: Wed, 15 Apr 2026 13:36:57 +0200 Message-ID: <20260415113700.107915-4-michal.orzel@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260415113700.107915-1-michal.orzel@amd.com> References: <20260415113700.107915-1-michal.orzel@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0001A103:EE_|PH7PR12MB7306:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e08bb71-4749-40c6-8bf5-08de9ae35888 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|36860700016|82310400026|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 5J1FTqiYgIe85Uz/iM5sFxRhAngSZcnXPmnfB8VaZZkClCuWrMTY2Ti6GmZZ9/3PwO8k4ngYoogv2hhnZHt55+ikWo41nwwN0lKssrIwDEHjfV9pc0fnYs5xCVM6DTYV1O7ZczrQDJm5KLpfERb9I0/MQDGwCkWow2yV0X9sewYOFlAKIzKf6+rxRRaS+od1FsJr6lFpTEahlI4ssmBBmOSIW43tJQ3JX+gwB2XQ/yTLhgZWgCSteqJr2TvZaDgzLWpn4ub6I/X+tblvhW79Udkq3RQUZw3LvSc9cV0x3ROUdo2Zx5riP4wQNxmWkS29FSneXs92ioCadA7gUsqBJg0sWZgEe34Nys8BGWpWOh9z16yVemgZj4yIyvlxJckFHmWJb4dkatVWKGntPgO0Qqs1wwa9S+n20UUoGsGjCUsHkoRyZN4rpd0A0AnoMRa04NluIMG3pcVqA2ScdKdrX0zn/nimDZeulY+PZH2N2PGhciq2mmf6PH8ZONu0TtDhaZZZ0ZJ4qC6iG31Lhqy/9IW6Me/naiWE2AJVcSj6Ptf3sMT3ESokkENTh10zNXfaC1NVGC0/mYC9ebqt6bj2fJchYnxHhmsiJIeln7l6Bs1BQe2DxUHkr+K1zTMsNL69bVntcR87HKsLk0j7DWQ63IrePYRgPaQdcAm9iaSXvOYYy5ahVsn7qWTFXHp/vnS56lUxmGd6GrovacjYeL+AH5QQXehqndDtV+/CzzTugE2JYqPAxQi9Ko9qhSR46sAyrutyc5XHN81zXyDbpkcyrQ== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700016)(82310400026)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3NFScCTnfYFbtInc0Xoq+d2u9i0CcUEh84lJKepY1OMh143NiKsehrpy4A2pkvLesKFVH2MRFehBe31sXfRoPBZhZrivy66xexfw7Y1MJdc+o/Y3csqiNcPeVEdh9KfWRNTAOar7T5OYgjtVTqdEAWp1LCJOwWhDNugMnfmt6gIbL1Y5eWatrSAMZaU2qJaXEv/DMafOg8063v1Hau0UI31ZkjVcpicj1oIp3QleZa1AjPo331hiRA00IpFkaS+oCGCK+wksCYSIi4uj6abMFicxuKqHBRtELyXcuRLLu1jlji+3l1X8Vug/KL2ZW2LUbyOEJe9IacnvCD+EyAABUopq6dzMXy1tu+eoFGnO61EUOAAW7NR4SuQWPBX052YoWuArPSjCBsRksKXzg+actuJl8Q4ybUO+VqT1LHqjUVG7QVJoiaDETKZZY3WoYo/F X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2026 11:37:16.6342 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6e08bb71-4749-40c6-8bf5-08de9ae35888 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0001A103.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7306 X-purgate-ID: tlsNG-42698a/1776253042-EF34C2A1-5705A061/0/0 X-purgate-type: clean X-purgate-size: 1441 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1776253074436158500 Content-Type: text/plain; charset="utf-8" find_track_entry_from_tracker() compares overlay_fdt_size bytes of the stored overlay against the input without verifying that the stored overlay is at least that large. If the input is larger, memcmp reads past the stored allocation. If smaller, a prefix match could falsely succeed. Compare fdt_totalsize() of the stored overlay against overlay_fdt_size first. Both values are validated by check_overlay_fdt() at their respective entry points, so no additional field in overlay_track is needed. Fixes: 7e5c4a8b86f1 ("xen/arm: Implement device tree node removal functiona= lities") Signed-off-by: Michal Orzel Acked-by: Stefano Stabellini Reviewed-by: Luca Fancellu --- xen/common/device-tree/dt-overlay.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/common/device-tree/dt-overlay.c b/xen/common/device-tree/d= t-overlay.c index 3853e6e347fe..0eed1532a10d 100644 --- a/xen/common/device-tree/dt-overlay.c +++ b/xen/common/device-tree/dt-overlay.c @@ -379,7 +379,8 @@ find_track_entry_from_tracker(const void *overlay_fdt, */ list_for_each_entry_safe( entry, temp, &overlay_tracker, entry ) { - if ( memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) =3D= =3D 0 ) + if ( (fdt_totalsize(entry->overlay_fdt) =3D=3D overlay_fdt_size) && + !memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) ) { found_entry =3D true; break; --=20 2.43.0 From nobody Sat May 2 01:01:00 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1776253067; cv=pass; d=zohomail.com; s=zohoarc; b=b/L9Th1MTchNRqW+J/cYQlPwAF7hF+6kOU7mjuQDACpI5NYuSUS5jp6RVaLDlGm47nJauhGaRnYJtILbhvFuTjeDmC8+5dNwWzaUfykNzTMzaB56pB69fB9DXcN0AdT12FExbeQFBxywH9x++kM0i+XlreXUZQqAM4ESIdsweNQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776253067; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IKYP4E5I1ro3m4rC4xatOfhu9k8oT84Qye3Au8P0bR0=; b=QdntggSQv5+/LOhoX2hf4WwJsGsM9HdTuTMQ95Ll/Ya6ayfuUsxxMCKtw3qCPW+wGckkhcjDYJhA7EJz9CgO62Eyr6igi8hl9azrIJ6n5pQPntSunI7BD+gvCwKIGwo4UpwzXmYmEjGRSO3TnXpZdhlxGY1pgnibyDLUlLzRq0Q= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1776253067554246.82439879669823; Wed, 15 Apr 2026 04:37:47 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1282282.1564919 (Exim 4.92) (envelope-from ) id 1wCyYg-0002vK-B9; Wed, 15 Apr 2026 11:37:26 +0000 Received: by outflank-mailman (output) from mailman id 1282282.1564919; Wed, 15 Apr 2026 11:37:26 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYg-0002uj-1q; Wed, 15 Apr 2026 11:37:26 +0000 Received: by outflank-mailman (input) for mailman id 1282282; Wed, 15 Apr 2026 11:37:24 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYe-0002dH-Li for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 11:37:24 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wCyYe-00EiIN-1m for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 13:37:24 +0200 Received: from [10.42.69.7] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69df786a-5cb7-0a2a0a5109dd-0a2a4507bd00-44 for ; Wed, 15 Apr 2026 13:37:23 +0200 Received: from [40.107.201.51] (helo=CH4PR04CU002.outbound.protection.outlook.com) by tlsNG-ef75cf.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.0) (envelope-from ) id 69df7872-ba2d-0a2a45070019-286bc933c55f-4 for ; Wed, 15 Apr 2026 13:37:23 +0200 Received: from BL1PR13CA0147.namprd13.prod.outlook.com (2603:10b6:208:2bb::32) by CH3PR12MB8510.namprd12.prod.outlook.com (2603:10b6:610:15b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.20; Wed, 15 Apr 2026 11:37:18 +0000 Received: from BL02EPF0001A108.namprd05.prod.outlook.com (2603:10b6:208:2bb:cafe::fe) by BL1PR13CA0147.outlook.office365.com (2603:10b6:208:2bb::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.48 via Frontend Transport; Wed, 15 Apr 2026 11:37:18 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF0001A108.mail.protection.outlook.com (10.167.241.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17 via Frontend Transport; Wed, 15 Apr 2026 11:37:18 +0000 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 15 Apr 2026 06:37:17 -0500 Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Wed, 15 Apr 2026 06:37:16 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=G7c2MUcoSltDJUc6qWC1367mtrZT8LhDV06G0jiBjnoBSUy28cYKmw4x8RnEJWXevbexQbRpcZwpamzZ0wcNQHxJeK988yh87V7BbG+jf9qTxoTETPn4dRV177rH3mndv22zs89mAtvzqy6waqAudTBjD380dl3bpzvSgWfsExH/6hk+yKMwWMQgF2yl5YZCq7cZoTeHwQGoMoXfbiNbesTOW8dZGnGEzVFRSYklrjvd0wuYw8swU/idUvblys+kyz6Ogj4Ch7WtjbNwMobRB1rSnNZqMTukgohb0aFdNGM0ite6fIV8OeH2FDuYAzj8538HiojMXoKrxy02sTFjjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IKYP4E5I1ro3m4rC4xatOfhu9k8oT84Qye3Au8P0bR0=; b=a8GxZYSDyZkJoI361q3k74wq5Q2IR8W4iJ/UzrDJOtWXNfezZSLvApAsSvzq+E/0UjdLMwyf/BqWxeJYDexn277F0m1imBFEAVOOPIZ8FkSOp7jpLujnEFbsG1tl6GJOKvLdvSQyAmM0OOBnBOFnnCgKVMclZ9oEW6MDzE15zk8v30aQMFn8qbO4oSColCBxtgpu3XczY5BH4D2pVk4qI4y9VGU7BjtHiDb51hS6DV4dT9mqPbs2WVKPimLIw3Z9UqDiqiC5X/B+jFAt9dS2zlozHveXcAuqjehOcZpcXtbH+6HJz8/+Prj3BEXOd3ZXO/MewX62my30y+cukuDrQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IKYP4E5I1ro3m4rC4xatOfhu9k8oT84Qye3Au8P0bR0=; b=IhRuXLL0WJFHHpohU+gDFz48G4zc11Rfib0rv56XdwvSWBfQlmKc8XSrypBRLhwM96pezj26/uZaCzX8Kf1+G8LTl/RxxAxGhjLtIQM64FbgoAjXxGoE2Kmz/zA26LSMIR+DtDY6kyUzjT2ptoTm5gErCODeYJoc3UOAWirLq1w= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michal Orzel To: CC: Michal Orzel , Stefano Stabellini , Julien Grall , Bertrand Marquis Subject: [PATCH 4/6] xen/dt-overlay: fix silent success in dt_overlay_remove_node Date: Wed, 15 Apr 2026 13:36:58 +0200 Message-ID: <20260415113700.107915-5-michal.orzel@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260415113700.107915-1-michal.orzel@amd.com> References: <20260415113700.107915-1-michal.orzel@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0001A108:EE_|CH3PR12MB8510:EE_ X-MS-Office365-Filtering-Correlation-Id: e6a0a1e9-c4d6-4cfd-656d-08de9ae35982 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|82310400026|376014|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 93CgH3e2sS/b2ZGNQk5HLUMslz1U3svMNW24DSv+ZyTldX8rcOdDCBVPywxARZ3WkIqFxatrGRzTd8JjN8//Rs9hBtvhoAgyRgxP6DIYJj6wwIZ33yT/+s4LD/jUDDNqAKxQWewm1pz17IkPyKYduMgmbMG6798AuDqBgZoLjUPkq+UzYFaJQY8lCMUOKIhovOKhl93J3p5aFXqkdzdz74waqTXj3pOxgnyCwjhmUsrRKGU7qk6vYBuFpENz3wBcsZQoICkdQ0FeiEJBC7FTeuq+9hryJcDJcA/4ikfUonCT9iDRIan4S5Muu50QNk/Sfhl2Vn2VjMfRo67lMlAxfigGgb1Qs/Q8VGMmMzjILD2hXNyEo+M2ZA9fvctLi0X+exs2puHyxfVGOqJ0rYaaJ1FtX/kQO7oI9AKw8QPKqtsW19ceYTgG9Egv5Wjz4v/g2P7nR6p/ui70u2CVXBIBvsIEUOrerztocIHFkXvld+L3KvVIoKOZV17x3vKo9RHMGiLNZpHY9r+BlnTRyYdTMEdqEg2Ek2mMPUEZ6y8OjGMgSvc+hsZy5NoJEyWXd/Tb7DemHtbsz2w2leVgXNH7+N2GFNsrcG06mXB38TMF+teHHQYKeo85rmM8cAeZNBBGrrZ/C6f9d08LYzbvCp6QWOmCGUBAKgZG5wYx9wkrM2XGf7LTkO8Tcmokyba7ScPKzf6+94T+k6MbmYXbKnPTOZXBiAchoSwrZ90IwyuzeVDoZWm850qMmo7PqvTpOKVHV5ajPFTfHZUNeuM3zM1GNw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(82310400026)(376014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2d94dy0encczEHStc3OvEWPDL/aLJdp5kytPmukhxjhPfDlx0Nf5D9aBavkkOZtxWIf/5egMUtWD9Ga0R0mLZRF51f9FsT67aS5yBJmz57fD9MebNYXTslNyjdgRUxLaq4n5L7+Emwg0bycX3RzJppktHOrKA8qWdOddwQSKJD/dHjNXIVJ95VXDmr/mfgCgsDEs0KM8nbebXmgroT/7k6KAhI9k2PXIQz9L3K3RIQxKv4hRUkz3uSvC1zvUyi93ha7rJxa9hukq0QT3rK0pkGEPXwByRteGGhYHIhimBYl4eFddnL2osG+FTngwevVkYu9tN+1etOo+KzRfzxdYcaGo7EozKmg4EbnthR93t4P8VmL146IdW8963AXfkaJhaI7L86tHAD3dSyjK/SEvlKSgPw6jYvni+iO5vAE489qTV46qSGxR+Z6036o/UzdP X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2026 11:37:18.2720 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e6a0a1e9-c4d6-4cfd-656d-08de9ae35982 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0001A108.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8510 X-purgate-ID: tlsNG-ef75cf/1776253043-12B4841E-F97C014B/0/0 X-purgate-type: clean X-purgate-size: 1224 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1776253068602158500 Content-Type: text/plain; charset="utf-8" dt_overlay_remove_node() silently returns 0 when the target node is not found in the parent's sibling list. The loop simply exits without matching and falls through to "return 0", making the caller believe the node was successfully removed. Return -ENODEV after the loop when no match is found, and change the found-path from break to an explicit return 0 so the two outcomes are distinct. Fixes: 7e5c4a8b86f1 ("xen/arm: Implement device tree node removal functiona= lities") Signed-off-by: Michal Orzel Acked-by: Stefano Stabellini Reviewed-by: Luca Fancellu --- xen/common/device-tree/dt-overlay.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/common/device-tree/dt-overlay.c b/xen/common/device-tree/d= t-overlay.c index 0eed1532a10d..d3d4669718ac 100644 --- a/xen/common/device-tree/dt-overlay.c +++ b/xen/common/device-tree/dt-overlay.c @@ -125,11 +125,11 @@ static int dt_overlay_remove_node(struct dt_device_no= de *device_node) else np->allnext =3D np->allnext->allnext; =20 - break; + return 0; } } =20 - return 0; + return -ENODEV; } =20 static int dt_overlay_add_node(struct dt_device_node *device_node, --=20 2.43.0 From nobody Sat May 2 01:01:00 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1776253067; cv=pass; d=zohomail.com; s=zohoarc; b=eZVbvH1pLiLrpTaqv6OKVMrbmk2mmoPJhuHuUZbJy4XVAza0i9xGSe4e8f672FySoN4tCBJjrJ6YgmLkK+r+KRzIq9wuN8OEMrrh0xm/unyQGr+5mS/smmf21XxJB+Z47uINvY4PycV1HR7p3qFERp93AwFkETDrWe3q1+Q8cVs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776253067; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=D4OWT3wEIvjpzw9Xkvlr6Mw8vRGWd6LHuIzfFhcybcE=; b=BTGkItk/rld5m4pVzBhy1G4UwIunuGjCJT0adXN+QN+u6SCIl7boSMXfQqN5fRYQeRcw9pmp7gXezF3Hh7CsgkveCK0HfVvApalhh1zvgZsIn+7h3FcDUsJQaDE2ATqwVgwCePIGzi5s8HKjA5kwf9QlxIQaXJFDTOkHwCW4yog= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1776253067054224.13476328733543; Wed, 15 Apr 2026 04:37:47 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1282284.1564931 (Exim 4.92) (envelope-from ) id 1wCyYh-0003KL-HR; Wed, 15 Apr 2026 11:37:27 +0000 Received: by outflank-mailman (output) from mailman id 1282284.1564931; Wed, 15 Apr 2026 11:37:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYh-0003KB-CY; Wed, 15 Apr 2026 11:37:27 +0000 Received: by outflank-mailman (input) for mailman id 1282284; Wed, 15 Apr 2026 11:37:26 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYg-000318-KO for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 11:37:26 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wCyYe-00AKHN-Ew for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 13:37:26 +0200 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69df7861-2eae-0a2a0a5409dd-0a2a450aeb5a-48 for ; Wed, 15 Apr 2026 13:37:25 +0200 Received: from [52.101.57.67] (helo=BN8PR05CU002.outbound.protection.outlook.com) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.0) (envelope-from ) id 69df7874-ee98-0a2a450a0019-346539433ad3-3 for ; Wed, 15 Apr 2026 13:37:25 +0200 Received: from SJ0PR03CA0208.namprd03.prod.outlook.com (2603:10b6:a03:2ef::33) by BL4PR12MB9484.namprd12.prod.outlook.com (2603:10b6:208:58e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9791.32; Wed, 15 Apr 2026 11:37:21 +0000 Received: from CO1PEPF00012E7D.namprd03.prod.outlook.com (2603:10b6:a03:2ef:cafe::a4) by SJ0PR03CA0208.outlook.office365.com (2603:10b6:a03:2ef::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.44 via Frontend Transport; Wed, 15 Apr 2026 11:37:21 +0000 Received: from satlexmb08.amd.com (165.204.84.17) by CO1PEPF00012E7D.mail.protection.outlook.com (10.167.249.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17 via Frontend Transport; Wed, 15 Apr 2026 11:37:20 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 15 Apr 2026 06:37:19 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 15 Apr 2026 06:37:19 -0500 Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Wed, 15 Apr 2026 06:37:18 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BFMqWsGHznRzvoBXDTBOQmCQkHNGoYGtOwFw0gs2uOOmeSQEm9S8QD+A7P0L51uEl46mXcHH9G0X/HQ/GgYDLLoujyHEFit1Ekyxmv1iU3+lbQ6XlKw2idsf7gFYCzFKZzaog9J0gZWKwZ5qLoIyZnwyANH02gs8XuWPhoLFVinVkT0AF/3aDaeYsy5MFjTvlu2db0pcDIhVhCWmsRGizseC0yNNKb94LKGlXBz05Ve1Zb25oQvxEKm8RQuAFWEwu6ySVEPCDunm8ptJ98hrnPMqeMq/oBE6c8J8vDxNd2nRoAQI4cwbLruB3QmjgWsFW1vzLinusEfUprDsnAQYEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=D4OWT3wEIvjpzw9Xkvlr6Mw8vRGWd6LHuIzfFhcybcE=; b=iHH9aSJ+FR0xZqG5ECX5V3pYjWly6vk9xb0frxqz3RuZy1vsD2KS+sMr16kRvOKV6CezaZrywZTxLM08/JizotXkhP6LK74Ikhc6BPOAlXQ6nQO1TAAsLwUUMBJuII0+ZJLumakdjgyAd1pdjZkH24KcQsY6EL56Uf8otCzpAE0p6aJGAB9a2Y54wfyGbYiKM166gzjg1mh/xTplDnjoOVAYXN5SzMj7NdAqhuMFdSDPN91y5CcUySwTsNOwCqBQI+8w45h1K2PUpOJmTtxFrrDMTIw0O+MUJtPbbAbwk1qyWMjDAnnRK6dleC/jfOHBU1B+yM7IQatVQC4/051e3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D4OWT3wEIvjpzw9Xkvlr6Mw8vRGWd6LHuIzfFhcybcE=; b=bElhxLrn5fOhoh7zsIG8rNp/tonKNicY3yvXmkMZkqYZW1WZ8ZNcOECGFKD2N0YOZNzOri7hi7nF501jTmror80iXK6jxL/4zm0fcXYkJlqcR1hl7jT2cu7mPYdap5+7UXhTw+ArQq6nIdW/ni+vrzMxC88x5E+1WWrMqqghrt8= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb08.amd.com; pr=C From: Michal Orzel To: CC: Michal Orzel , Stefano Stabellini , Julien Grall , Bertrand Marquis Subject: [PATCH 5/6] xen/dt-overlay: support phandle-based targeting in overlay_get_nodes_info Date: Wed, 15 Apr 2026 13:36:59 +0200 Message-ID: <20260415113700.107915-6-michal.orzel@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260415113700.107915-1-michal.orzel@amd.com> References: <20260415113700.107915-1-michal.orzel@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB04.amd.com: michal.orzel@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF00012E7D:EE_|BL4PR12MB9484:EE_ X-MS-Office365-Filtering-Correlation-Id: a3562573-1ea7-4114-f66a-08de9ae35ada X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700016|82310400026|1800799024|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: pfzXJtEAUbsowuNyJqo3RkzJ+U4keejQBjqn4ymkRLVBPUH0FEN9YCQk1LTeJ5ia/l6h7YQ9wR0deLtmtL49jwFWNNPaT1XRLtDPXATq+SX6OWRcUGPISdpjSA4qR0lg15mYolWVsBjrYGyezeSQjutMNlnE02zbYIb1YJjQc6+cjnd+wEFbJnyFVrWtsUtCchZR/gsbaJaZuf7KmqyCCDW7wnMdXev6fdi9fOqaLk3MwatJQdGi7xFE7BSEbAgVQ5umba7CfOpRf6lTzgkgHuWtARq+fGMArXC6WI5b8Zoa96rF9+7Nivt1sNN4rAjKbqGTgA6HVNn4N7DR20zGlLSwQeKnRYsMku7H4BKTd7YGLuZTpaJD7O9Q6Xo2PrZRqy5pVJaEImgo2cobCvi+CG6TU3etAobdVm5RPe2ZXxvURl385G1MUiDCUzW/f5rnphroHD6ciocsw3O2zyXpE1sg9ksojHtiJwGiOtb5FwPfw90sHi046QGjWgCpfninwx8XD6bp4urF8t823u25URRm1P1WhF59chJ6u1W3JQ//+t+6uX/ow4o1wpoBt9eSHynyUHGSsTiE5J6hCLwNdVXaTNSN4IOig8r5k1FXle6mjH/nwCqjjRd6oKB4LJ7zrckVjkgRi3Rq6EXeQluqZoqJH0seSsrORUTjI6FA0rQSSYlmhz8QXWWj2DFNX3nyvXYvNTFwjfSfOIeE0iorXTbKLd1mHtHFfsFk5VcSqAbVV/OLBHTvgKMtX94374rULmRSfT5OuljtX/pvy3JRiQ== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb08.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700016)(82310400026)(1800799024)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: K9SoG0BYfzgMKjd46y0D4bnfU9nHxGrGzrojGF2DYRTTlyJ3y5xbTcdHh/HWXJebvD9Px7pl8rigf3CtC7FC0vL0v4ZjjQurNMenlqUk84aMmx936AD8FbxUuzlzHbL2wV5J2toufvI1xjRIhDBTSXe6ELRsIhLJZ+o00lnjW8xhC/nS8kjzjJhlss8zMg4Yb7b/wTctLOyOXRXG+vZSZ5cYJaY/Obd3PDZw6nAMV4+Kw7mxgfO7wX4Tyefo4mmTbabvegugXAwrMLB8FiVG5DRz/NMBF+ZOHVv6bKAg1Bah/dTLivFqhPqYiwZShEmsHax2jF746hG+4x5qdHG6J9Cn0UnwJV4yf3E0bap2knt6pnGjpDChvs4cHcl6G0+4ySCXtU6nVlKFSajAMCEcMDOv3ExIbJEWras2rSMhhkXPjT+NRzhcYDOM4lPFjYQr X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2026 11:37:20.4402 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a3562573-1ea7-4114-f66a-08de9ae35ada X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb08.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF00012E7D.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4PR12MB9484 X-purgate-ID: tlsNG-4011c0/1776253045-0EF4B0B1-E223FD59/0/0 X-purgate-type: clean X-purgate-size: 4420 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1776253069381154100 Content-Type: text/plain; charset="utf-8" overlay_get_nodes_info() is called before fdt_overlay_apply() to extract target paths from the overlay. This fails for overlays using phandle-based targeting (target =3D <&label>) because DTC compiles these as unresolved fixups (target =3D <0xffffffff>), causing fdt_overlay_target_offset() to return -FDT_ERR_BADPHANDLE. Prior to this change users were forced to manually modify the dtbo (even for hwdom) to switch from target to target-phandle by manually inspecting also the host DTB. Introduce overlay_get_target_path() which directly handles the two targeting cases that occur before fixup resolution: - target-path: the string property is returned directly. - target =3D <&label>: the label is found in the overlay's __fixups__ node, then resolved to a path via the base DTB's __symbols__ node. Signed-off-by: Michal Orzel Acked-by: Stefano Stabellini Reviewed-by: Luca Fancellu --- xen/common/device-tree/dt-overlay.c | 65 ++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 6 deletions(-) diff --git a/xen/common/device-tree/dt-overlay.c b/xen/common/device-tree/d= t-overlay.c index d3d4669718ac..a0dee7edb7e5 100644 --- a/xen/common/device-tree/dt-overlay.c +++ b/xen/common/device-tree/dt-overlay.c @@ -286,6 +286,63 @@ static unsigned int overlay_node_count(const void *ove= rlay_fdt) return num_overlay_nodes; } =20 +/* + * Resolve the target path for an overlay fragment. + * + * This is called before fdt_overlay_apply(), so phandle-based targets + * (target =3D <&label>) are still unresolved (compiled as 0xffffffff by D= TC). + * Handle the two cases that actually occur: + * - target-path property: the path string is used directly, + * - target =3D <&label>: the label is looked up in the overlay's __fixup= s__ + * node, then resolved to a path via the base DTB's __symbols__ node. + * + * Returns a pointer into the FDT on success, NULL on failure. + */ +static const char *overlay_get_target_path(const void *fdt, const void *fd= to, + int fragment) +{ + const char *path, *fragment_name; + int fixups_off, symbols_off, property; + int fragment_name_len; + + /* Try target-path first (string-based targeting) */ + path =3D fdt_getprop(fdto, fragment, "target-path", NULL); + if ( path ) + return path; + + /* Phandle-based target: resolve via __fixups__ and __symbols__ */ + fixups_off =3D fdt_path_offset(fdto, "/__fixups__"); + if ( fixups_off < 0 ) + return NULL; + + symbols_off =3D fdt_path_offset(fdt, "/__symbols__"); + if ( symbols_off < 0 ) + return NULL; + + fragment_name =3D fdt_get_name(fdto, fragment, &fragment_name_len); + if ( !fragment_name ) + return NULL; + + fdt_for_each_property_offset(property, fdto, fixups_off) + { + const char *val, *label, *p; + int val_len; + + val =3D fdt_getprop_by_offset(fdto, property, &label, &val_len); + if ( !val ) + continue; + + /* Match entries of the form "/:target:0" */ + for ( p =3D val; p < (val + val_len); p +=3D (strlen(p) + 1) ) + if ( p[0] =3D=3D '/' && + !strncmp(p + 1, fragment_name, fragment_name_len) && + !strcmp(p + 1 + fragment_name_len, ":target:0") ) + return fdt_getprop(fdt, symbols_off, label, NULL); + } + + return NULL; +} + /* * overlay_get_nodes_info gets full name with path for all the nodes which * are in one level of __overlay__ tag. This is useful when checking node = for @@ -298,7 +355,6 @@ static int overlay_get_nodes_info(const void *fdto, cha= r **nodes_full_path) =20 fdt_for_each_subnode(fragment, fdto, 0) { - int target; int overlay; int subnode; const char *target_path; @@ -307,11 +363,8 @@ static int overlay_get_nodes_info(const void *fdto, ch= ar **nodes_full_path) if ( overlay < 0 ) continue; =20 - target =3D fdt_overlay_target_offset(device_tree_flattened, fdto, - fragment, &target_path); - if ( target < 0 ) - return target; - + target_path =3D overlay_get_target_path(device_tree_flattened, fdt= o, + fragment); if ( target_path =3D=3D NULL ) return -EINVAL; =20 --=20 2.43.0 From nobody Sat May 2 01:01:00 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1776253075; cv=pass; d=zohomail.com; s=zohoarc; b=S6HuAJp9SwmAEpVaQPYAJEHw64JL4zRC6pHJfAYaAK/8D8qy0KZEEmUeK8d5eF0WvWgYitgZGWDC+OH0a4zyBs9JJCMCIyxlG8GTk2zHavm1peVG+aF0tN669tFLjfYuOzqT2bfDV4IWF3Hgwu7RnfH16hFbrd1Uze0UUeoFl1E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776253075; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hB9ytw7x4Jebi3tKWGpsuYy48KxopqXnvHggFtPWCpA=; b=OVgzPJQ5FT0LMqLVQfuU310T6QNbXs/xvDoq3AF/VhHhhMdBpY7u75Xs2oYsLjm69OUfo212yES46zUmHCVTZ6eJQbJnfQyNTEC0daHFZhkvGsEaVgUCNptKjDdTO/kY75H7nO59dZ8R4AhzPAWgeuwyqfZCBdAjIDtduWm18qk= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1776253075566699.5273681927786; Wed, 15 Apr 2026 04:37:55 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1282286.1564940 (Exim 4.92) (envelope-from ) id 1wCyYk-0003f8-W4; Wed, 15 Apr 2026 11:37:30 +0000 Received: by outflank-mailman (output) from mailman id 1282286.1564940; Wed, 15 Apr 2026 11:37:30 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYk-0003eu-Sm; Wed, 15 Apr 2026 11:37:30 +0000 Received: by outflank-mailman (input) for mailman id 1282286; Wed, 15 Apr 2026 11:37:30 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wCyYj-0003d5-TY for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 11:37:30 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wCyYj-009G4C-AE for xen-devel@lists.xenproject.org; Wed, 15 Apr 2026 13:37:29 +0200 Received: from [10.42.69.1] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 69df786f-bab6-0a2a0a5309dd-0a2a4501ad1e-38 for ; Wed, 15 Apr 2026 13:37:28 +0200 Received: from [52.101.62.13] (helo=DM5PR21CU001.outbound.protection.outlook.com) by tlsNG-d62444.mxtls.expurgate.net with ESMTPS (eXpurgate 4.56.1) (envelope-from ) id 69df7877-c1f2-0a2a45010019-34653e0db0fb-3 for ; Wed, 15 Apr 2026 13:37:28 +0200 Received: from BL1PR13CA0127.namprd13.prod.outlook.com (2603:10b6:208:2bb::12) by BY5PR12MB4274.namprd12.prod.outlook.com (2603:10b6:a03:206::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.20; Wed, 15 Apr 2026 11:37:22 +0000 Received: from BL02EPF0001A108.namprd05.prod.outlook.com (2603:10b6:208:2bb:cafe::ac) by BL1PR13CA0127.outlook.office365.com (2603:10b6:208:2bb::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.48 via Frontend Transport; Wed, 15 Apr 2026 11:37:21 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF0001A108.mail.protection.outlook.com (10.167.241.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.17 via Frontend Transport; Wed, 15 Apr 2026 11:37:21 +0000 Received: from SATLEXMB04.amd.com (10.181.40.145) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.2562.17; Wed, 15 Apr 2026 06:37:21 -0500 Received: from satlexmb07.amd.com (10.181.42.216) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 15 Apr 2026 06:37:21 -0500 Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Wed, 15 Apr 2026 06:37:19 -0500 X-Outflank-Mailman: Message body and most headers restored to incoming version 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" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TnvBxuQMmquKtqShmz937brUuJ6TEc+gg/BKX79O8gv78IFGgxDNkDnk+grj6cO9dilN9puMTH064t1XrZVdkq+qXtZeAQMZpYMbqQ4bhO7zcbFBaFjuQpafhL8RmKojaPBirB7QAtjiuG3Slq30T3HwtGiie2tPi92Nlur0xb2YnqK8KB+YnnnBABVIe+SPRdYJM9zaB7m7cg3YC4MCSvEszXAHvl6HuriVPnUoLhdCs3GM2JIZGdtyATVbQ6WUfr2F9ukYWPZiV4wcoJAeJQy2RevtgrXZqKZTTBrj5nuNXqgcq4TZqmr0hYI/e2L0gOtWlEScuFZA+rgm8xvTdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hB9ytw7x4Jebi3tKWGpsuYy48KxopqXnvHggFtPWCpA=; b=vG9KHq+Z/zo7gKfyWrR0nawQVUg0EReTNshHS1zIr+uxjl3l/RlmAfF2xQ6fQ4ltbv+4F9VgRepkkWnwY0hnK56pfD4mLVCLan6woORMcSUtMGgEVPtUAur2kETihcWqnhfEwbnXs0SO+iXOE44lnRyiwqCOjp/0EmTPEaq4V2WfNA9ldLLj7XwiVr4T7MLlrkDaSqjR0r89/9zEFfL28wuiQacMU9pU7K7IaL2ZdQJIQhl17jHSdlR//Arf3ET+SBeMrOgtm6kGfwkaPoWVnBtwz6yqZVFYZv8lFXb7wggU8x+pWyzFFPOVq9AbblnkinVuHZpiFLAvGh/WkML/mw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hB9ytw7x4Jebi3tKWGpsuYy48KxopqXnvHggFtPWCpA=; b=1CQ+8XlZ4b3Aylscw8z565+l0IIAWcsewYxcWshNYwQYA35rK+JP53b1ydMowljyJ+x49yqwaB4u7uWpYMzls3ueXuB7vFASQDpOS0iA/LbeQsJomliQhf3ewJ+YhF052jIyEuxARYpt0SzwvNT5TobJCFIY3uabr9nHiSd22KY= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michal Orzel To: CC: Michal Orzel , Stefano Stabellini , Julien Grall , Bertrand Marquis Subject: [PATCH 6/6] xen/dt-overlay: attach resources for child nodes in overlay Date: Wed, 15 Apr 2026 13:37:00 +0200 Message-ID: <20260415113700.107915-7-michal.orzel@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260415113700.107915-1-michal.orzel@amd.com> References: <20260415113700.107915-1-michal.orzel@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: None (SATLEXMB04.amd.com: michal.orzel@amd.com does not designate permitted sender hosts) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0001A108:EE_|BY5PR12MB4274:EE_ X-MS-Office365-Filtering-Correlation-Id: ebca11c2-b8ac-48be-c02a-08de9ae35b9d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700016|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: 9RImkJQnJ+WV95qZw95lkOzhmA/9P6Mfh4ocIDZj3qkLRIYJv5gYzkfSw9WB27SRCh3Sbkaw5PcjkRI2CVt1iHrJ/P7cLKtsjao4azKzCIjELfPfLGR8bce93ocIgC+yy2KnxCJDYe/d9G3tfCdSD/pxn9e9DMq2TjYL7xC2wCD/Yxz7naOWerg7ktV8DDlxEcFI5Z4U3eqf9ctCRU+A7hnMZAKQNpugwnjiiYgKv/wMfrQ1OvyXW9d/Dbh44qt7W6btaTZ4sZ9HRh1HylQWWO9uGHi/BowN+HXwuAKwY36526gE17Q4XnLVNH58D+iBRJjJoueFd6e8u0qZeAVNFmBoJFg0MsTDjf/hrmIxRzkoEEldUMk1fiG2N50S/W7+GA7vCllZrUvwg8aKhyt+CDF+mHDDUGdCO+skLpXukNbU4K5l6B22nmFkfqHmwleR63iDOB7V8WjcI3airv01mslxk4580pvM38d0CZYwkaKKwgkU4AmR0BmWtJIKPDz4J73YeXHA1yP/caGss6VKZxeiZNrICLzq1b1K9u8BC09IYqZccSpCdJnvR0a0uKIvUh7iVJB6S46B5eMvGAB1ba79dOsVFoHP79U/noC5SZklsfnDvBAZ0sHYFdVf9+KT7oLdt4fwnqCB35x5Eyh0znyY+k0RLX9t0Jrc1TQNdhb7yndyPWmbdTy7rtJbtCg5/XDmNvk241A/hFlRdU22iCdpHBVBvLDNjUo6WDMD3ihP6uPLyz+vtzwcR4Ic3Blme+vOGpjGefXK/lmV9iW2Ow== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700016)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: d4e1tmwLxaa5YXwxN/kTc80whTCvrybkqEOdlj/R9aA4PZO6Wb3EKriN2AS1Sut16cH/ig/6Ket7fxx8kr5LHu3a8f7nIbf7Q9Ws9fLMpTfnxwVtQ+u1OIuIVflaMosFEfiqFa74jVZTg8cAjotAv0fFmCIYmbZD4Hfl3dhvXFUOl2ndr+uMZyZ910r7/nzOx4vsIeD5PUkH0n4vfscnbgy30DephGscKUN7EMiFXkbDzWfj8k2CUZt9Z+iCrxNC0iaZsFSDclAxDq/CpcTz9I/4QI+96hFN+O3fhemuz1Fqgw4q0Ecx/MShnGxFn9zWtoJXvEbxQr1uMzOk6i4qR8BVRktoKdlN5pAdx9DbR6H+lUociktqJ5eZaUBcWZuRXnyOiuKAPPLu+iT74cMuCV0DKL1FHon3pHSJ1rrMGJNfo+f/aRTX+4DzIe3XR20h X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2026 11:37:21.8040 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ebca11c2-b8ac-48be-c02a-08de9ae35b9d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0001A108.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4274 X-purgate-ID: tlsNG-d62444/1776253048-B4E13FF4-14468FCA/0/0 X-purgate-type: clean X-purgate-size: 3237 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1776253076462158500 Content-Type: text/plain; charset="utf-8" handle_attach_overlay_nodes() only calls handle_device() on the top-level overlay nodes tracked in entry->nodes_address[]. Child nodes that have their own reg, interrupts, or iommus properties are never processed, so their IRQs are not routed, MMIO regions are not mapped, and IOMMU setup is skipped. Introduce handle_device_and_children() which recursively walks the subtree rooted at each overlay node and calls handle_device() on every descendant, ensuring all resources in the overlay are properly attached. Note that the attach error path has a pre-existing bug: on partial failure, the tracking rangesets are destroyed without first revoking the IRQ/MMIO permissions and IOMMU assignments that were already granted by the successful handle_device() calls. Add a TODO comment to flag this. Signed-off-by: Michal Orzel Acked-by: Stefano Stabellini Reviewed-by: Luca Fancellu --- xen/common/device-tree/dt-overlay.c | 34 +++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/xen/common/device-tree/dt-overlay.c b/xen/common/device-tree/d= t-overlay.c index a0dee7edb7e5..b837f1112188 100644 --- a/xen/common/device-tree/dt-overlay.c +++ b/xen/common/device-tree/dt-overlay.c @@ -894,6 +894,30 @@ static long handle_add_overlay_nodes(void *overlay_fdt, return rc; } =20 +static int handle_device_and_children(struct domain *d, + struct dt_device_node *dev, + p2m_type_t p2mt, + struct rangeset *iomem_ranges, + struct rangeset *irq_ranges) +{ + int rc; + struct dt_device_node *child; + + rc =3D handle_device(d, dev, p2mt, iomem_ranges, irq_ranges); + if ( rc ) + return rc; + + dt_for_each_child_node(dev, child) + { + rc =3D handle_device_and_children(d, child, p2mt, + iomem_ranges, irq_ranges); + if ( rc ) + return rc; + } + + return 0; +} + static long handle_attach_overlay_nodes(struct domain *d, const void *overlay_fdt, uint32_t overlay_fdt_size) @@ -951,8 +975,9 @@ static long handle_attach_overlay_nodes(struct domain *= d, } =20 write_lock(&dt_host_lock); - rc =3D handle_device(d, overlay_node, p2m_mmio_direct_c, - entry->iomem_ranges, entry->irq_ranges); + rc =3D handle_device_and_children(d, overlay_node, p2m_mmio_direct= _c, + entry->iomem_ranges, + entry->irq_ranges); write_unlock(&dt_host_lock); if ( rc ) { @@ -968,6 +993,11 @@ static long handle_attach_overlay_nodes(struct domain = *d, out: spin_unlock(&overlay_lock); =20 + /* + * TODO: IRQ/MMIO permissions and IOMMU assignments granted by + * handle_device() before the failure are not revoked here. We only + * destroy the tracking rangesets, leaking the actual grants. + */ if ( entry ) { rangeset_destroy(entry->irq_ranges); --=20 2.43.0