get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/135053/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 135053,
    "url": "http://patchwork.dpdk.org/api/patches/135053/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20231212042517.164353-6-artemyko@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20231212042517.164353-6-artemyko@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231212042517.164353-6-artemyko@nvidia.com",
    "date": "2023-12-12T04:25:16",
    "name": "[5/5] eal: fix memzone fbarray cleanup",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "90b2b148073bb0d8c78ff8c35aa20a7be4f8c690",
    "submitter": {
        "id": 3172,
        "url": "http://patchwork.dpdk.org/api/people/3172/?format=api",
        "name": "Artemy Kovalyov",
        "email": "artemyko@nvidia.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20231212042517.164353-6-artemyko@nvidia.com/mbox/",
    "series": [
        {
            "id": 30517,
            "url": "http://patchwork.dpdk.org/api/series/30517/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=30517",
            "date": "2023-12-12T04:25:12",
            "name": "addressing races in concurrent process startup",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/30517/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/135053/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/135053/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id BE8C3436CB;\n\tTue, 12 Dec 2023 05:26:08 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 6258842E04;\n\tTue, 12 Dec 2023 05:25:49 +0100 (CET)",
            "from NAM12-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam12on2060.outbound.protection.outlook.com [40.107.244.60])\n by mails.dpdk.org (Postfix) with ESMTP id 4203642DEC;\n Tue, 12 Dec 2023 05:25:48 +0100 (CET)",
            "from SN7PR18CA0024.namprd18.prod.outlook.com (2603:10b6:806:f3::33)\n by DM4PR12MB5103.namprd12.prod.outlook.com (2603:10b6:5:392::13) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.32; Tue, 12 Dec\n 2023 04:25:45 +0000",
            "from SA2PEPF000015C6.namprd03.prod.outlook.com\n (2603:10b6:806:f3:cafe::83) by SN7PR18CA0024.outlook.office365.com\n (2603:10b6:806:f3::33) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.33 via Frontend\n Transport; Tue, 12 Dec 2023 04:25:45 +0000",
            "from mail.nvidia.com (216.228.118.232) by\n SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.7091.18 via Frontend Transport; Tue, 12 Dec 2023 04:25:45 +0000",
            "from drhqmail203.nvidia.com (10.126.190.182) by mail.nvidia.com\n (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 11 Dec\n 2023 20:25:34 -0800",
            "from drhqmail201.nvidia.com (10.126.190.180) by\n drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.986.41; Mon, 11 Dec 2023 20:25:34 -0800",
            "from nvidia.com (10.127.8.9) by mail.nvidia.com (10.126.190.180)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41 via Frontend\n Transport; Mon, 11 Dec 2023 20:25:33 -0800"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=PxkqzDR7HWattKXiCSfU4G54P3hr9EJ3KBPbclMzChImhuFWa8cr6sXJ+fZ7uCajq56uroqiN+uAmnZLvFNXPaqNf4q9Z1+YWnn59WSjiLgEqkVjQcaOwL3CUv2HE1xH5JkAfgfPq+AtXGZywEza57qu9ZcTaCj6gfLTk0VNnzkviPdPQ4acpRMWp8E/Y9eqX8YIqiSYH/JO4V4GHelrv8P3Wdv5HOklw3HHebHw7WLHv6sojMJI/AhrQnjDQlya2Cp8t04huEJWJpxEWM3ohW4nA2QwwPoA6beXuQB8zq4NwoJHEAzMsZeeuOUWuXxFpX33F2bmN5KSpFmHqGhONw==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n 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;\n bh=hPncIhh389T5CImwB8mRjza68jNeLrk+md45s5u3sL8=;\n b=Zs9iQCJdpP7FoBFhVVozuv6wT+uK6q/59z7PdDaECyvBXdEdkLT6406G7EvjbEH4F0TjT6uEVjNg6qvMwl+MA1rE7NYbFBX3dcNeHrdMu5R7XRmXjhSZulYz6KXC2jwC5kUk7gyTr68jx1iTj84jsCcTa/k4p8bZpYWphSDpZkYxzm2DI5Ym/D+URa6qiJ3ORcfnBRcJ53suHXGC7RIRjjznj0qPmAVrv02wn7HD+UGDlGLFpMrZS9cRotfANQCvPAZub4OVQcCiCG6MY1xab4LuGRlDVqII8TDLz8b1WM0DYCJrnvjHrOug8uiZGV3T2VWjGthWcZGAFHW0OKp1MA==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.118.232) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=hPncIhh389T5CImwB8mRjza68jNeLrk+md45s5u3sL8=;\n b=HA3kKexmWq5+LhssQ+mxo8CE4k+hqKYxP63HAC112lh9CyLftqwezOSlJOOmTeXCzA7QupZdIJjDO0jvgQ7nq5JUR4nugSEZtyxVB35oWwMra+yQtuTt2im5clDp1z6RZ0ygMtmXabxAHgVBp2svb5r1AqIroRMEQyv/5FMhXAwXUEPl+7p4BQV6HcM/iHxMsGGRVdeGIbMbWBPsJm1/y5kkHQnq6tJmAEoTIyn5B1G5RGUrlJbP6iYZjjrHHX9E1aqpk/HK8Yue6VCvO4nFrp7Ez3Z8niaazGG4/ESeIyAICdfRy+ChB1KxrqvrsHzcI+/321vJaNIlCJEIgwCzTQ==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.118.232)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.118.232 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C",
        "From": "Artemy Kovalyov <artemyko@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Thomas Monjalon <thomas@monjalon.net>, <stable@dpdk.org>, Anatoly Burakov\n <anatoly.burakov@intel.com>",
        "Subject": "[PATCH 5/5] eal: fix memzone fbarray cleanup",
        "Date": "Tue, 12 Dec 2023 06:25:16 +0200",
        "Message-ID": "<20231212042517.164353-6-artemyko@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20231212042517.164353-1-artemyko@nvidia.com>",
        "References": "<20231212042517.164353-1-artemyko@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-NV-OnPremToCloud": "ExternallySecured",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "SA2PEPF000015C6:EE_|DM4PR12MB5103:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "49e01f53-b328-4382-74a9-08dbfaca691d",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n tsymkdPGvdsPXmQXWN4L7L+Fy0dBp9SK8t0Ga1zqsJ61CaaFFl9nGB4DdbLaAMvyN+EoOmo44me2DXqNlk3s+//WlbSD32Np23De/oubjYLABc6dXxruOd0PoCiA3dfw5dStZkeo34LaOQPUJlIHCzqME0E10HOsTnrB9ZOiiFEIiaG+TSLhZlNeqZHDNfXULA/2/58cK88I15JpfP/wYAeinAycK+8KhId2lX+oSQDqrOhh4XvYmPrryKyaZCERlcWk3YPlKP36erGZZjCiRHmREt9b4kKNaCTAj9NivF1bmlBHwYhSpwVrjq3kCvCob6Ah7OCGhbkFxo6FhKhzv7ep6kjAksiDZp/AmfoykoUdna1675Dw8wJOOJ0O3QN68r6ORzLrqFV+QWpntYoZ7Re2GZYj0llpP/nUPyVaUQwrgKcsixWChOr+GhQaqUldjkeckjCcCENL3p8NEdQv6sc3LRXXiRoXr5mcPPim/kvVMcMtXa37w05k1TvcvE+EBfQ9z6rNUi9VHjrbz/ju47Zq/BJAhC5aQgpkdp+eO4EueAlZ+x5MH3OLIp4PLJl0bIROPrwHkw28lM1vKmP/sU29qlY0BmaGL8by+hvsIA6zdLVH1TsPcWnGOgzljZNNwpl7iM6zgXJPZVUOFvWg/PE8f5si2AnQF00sGDlvBmQVnxXqoNDQz39E93RvGUkGp297RUMgA88Gu6C3PorMMzLrxtlngXUaQnUmvIqAPsj95+6Mt+447v30foRXr0uJ",
        "X-Forefront-Antispam-Report": "CIP:216.228.118.232; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge1.nvidia.com; CAT:NONE;\n SFS:(13230031)(4636009)(346002)(39860400002)(136003)(376002)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(82310400011)(46966006)(36840700001)(40470700004)(41300700001)(36860700001)(47076005)(1076003)(426003)(336012)(26005)(83380400001)(2616005)(6286002)(82740400003)(86362001)(36756003)(356005)(7636003)(5660300002)(316002)(8676002)(8936002)(4326008)(2906002)(6666004)(7696005)(6916009)(54906003)(70586007)(70206006)(478600001)(40460700003)(55016003)(40480700001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "12 Dec 2023 04:25:45.5683 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 49e01f53-b328-4382-74a9-08dbfaca691d",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.232];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n SA2PEPF000015C6.namprd03.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM4PR12MB5103",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "The initialization of the Memzone file-backed array ensures its\nuniqueness by employing an exclusive lock. This is crucial because only\none primary process can exist per specific shm_id, which is further\nprotected by the exclusive EAL runtime configuration lock.\n\nHowever, during the process closure, the exclusive lock on both the\nfbarray and the configuration is not explicitly released. The\nresponsibility of releasing these locks is left to the generic quit\nprocedure. This can lead to a potential race condition when the\nconfiguration is released before the fbarray.\n\nTo address this, we propose explicitly closing the memzone fbarray. This\nensures proper order of operations during process closure and prevents\nany potential race conditions arising from the mismatched lock release\ntimings.\n\nFixes: af75078fece3 (\"first public release\")\nCc: stable@dpdk.org\n\nSigned-off-by: Artemy Kovalyov <artemyko@nvidia.com>\n---\n lib/eal/common/eal_common_memzone.c | 12 ++++++++++++\n lib/eal/common/eal_private.h        |  5 +++++\n lib/eal/linux/eal.c                 |  1 +\n 3 files changed, 18 insertions(+)",
    "diff": "diff --git a/lib/eal/common/eal_common_memzone.c b/lib/eal/common/eal_common_memzone.c\nindex 1f3e701..7db8029 100644\n--- a/lib/eal/common/eal_common_memzone.c\n+++ b/lib/eal/common/eal_common_memzone.c\n@@ -447,6 +447,18 @@\n \treturn ret;\n }\n \n+void\n+rte_eal_memzone_cleanup(void)\n+{\n+\tstruct rte_mem_config *mcfg;\n+\n+\tmcfg = rte_eal_get_configuration()->mem_config;\n+\n+\tif (rte_eal_process_type() == RTE_PROC_PRIMARY) {\n+\t\trte_fbarray_destroy(&mcfg->memzones);\n+\t}\n+}\n+\n /* Walk all reserved memory zones */\n void rte_memzone_walk(void (*func)(const struct rte_memzone *, void *),\n \t\t      void *arg)\ndiff --git a/lib/eal/common/eal_private.h b/lib/eal/common/eal_private.h\nindex 4d2e806..944c365 100644\n--- a/lib/eal/common/eal_private.h\n+++ b/lib/eal/common/eal_private.h\n@@ -81,6 +81,11 @@ struct rte_config {\n int rte_eal_memzone_init(void);\n \n /**\n+ * Cleanup the memzone subsystem (private to eal).\n+ */\n+void rte_eal_memzone_cleanup(void);\n+\n+/**\n  * Fill configuration with number of physical and logical processors\n  *\n  * This function is private to EAL.\ndiff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c\nindex 9b59cec..dfcbe64 100644\n--- a/lib/eal/linux/eal.c\n+++ b/lib/eal/linux/eal.c\n@@ -1375,6 +1375,7 @@ static void rte_eal_init_alert(const char *msg)\n \teal_trace_fini();\n \teal_mp_dev_hotplug_cleanup();\n \trte_eal_alarm_cleanup();\n+\trte_eal_memzone_cleanup();\n \t/* after this point, any DPDK pointers will become dangling */\n \trte_eal_memory_detach();\n \trte_eal_malloc_heap_cleanup();\n",
    "prefixes": [
        "5/5"
    ]
}