From patchwork Mon Jan 27 18:03:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 150546 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 654384613A; Mon, 27 Jan 2025 19:08:59 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 790D240A73; Mon, 27 Jan 2025 19:08:57 +0100 (CET) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mails.dpdk.org (Postfix) with ESMTP id F370F4027D for ; Mon, 27 Jan 2025 19:08:53 +0100 (CET) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-216401de828so86476895ad.3 for ; Mon, 27 Jan 2025 10:08:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1738001333; x=1738606133; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2QDxHAN3wJDwxKtbOiC7+yslaqQ6Rh8Flvbnwtfkiyo=; b=ZJXs+r4/xS7mUW27t04/hnfzEY9EtLTOVRElN72Y9k3QQFNkrzsGD6lTlmGneozkOU 065mghu4BxQkyaYlTQcVRDGzZY80LxOKv6WySKE5EQUCe1J59SjMUjUd6oM2OgB9Gibc yw1f6ZrKiNeifXE6nf+WdaTXI8ntcjPRptTjkgQPTpCkfOkqN7dxhirZ/cubIevJNlVE H01wedmyK/ap4l0fIC47M8c/XPYRIpUFbxitUUwxFPomHSjvMgur0MA2T1Bwu1rsPSOi N/OGjDy9mnNEYU++NiqmAG8Ku2sUGXHJWJreVoLkNuGd/mi53TVZLXP241tmp76/reOq kQwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738001333; x=1738606133; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2QDxHAN3wJDwxKtbOiC7+yslaqQ6Rh8Flvbnwtfkiyo=; b=EK+mVWlUSidpN0dmNaYOmNAVtwF4/SNnfS7EaHEtARmWCQKGdAq06o+H27L5spmsQW c/gVQF6Fa7BIXFoi4xSZ5bN0vEGjfbQJlV0dZcnC31KUrw0mc0keyLv4d2IpivN39Vv1 85ICytrsICmLdWPRsnpLz7lcaWgk/zxLqUlqCuyOZwF2v45wdrJoYG9H8PhcRe3jmXjn 83stTOCcKdnLF2TiQnL1yfKZwIRJl2KvquZoF3nAMUZj+sWFh0e0wEkk2KjSYEhs3PzP fLG7Q3RQESG484xiBDrQVr+sSmA5ZBDK9mad0Ue+bb1scBLwdxNvYG3ekKxTJgpFf3Mx 2sQQ== X-Gm-Message-State: AOJu0YyfFDOeQlTJ5jCCuXgE0DKQ4usQLra9juvHLJMnWK9KNNlQkGU+ T19hZPXbZCRbWRV3BBNqPxAJj0SWABSOIND8kXzmtZSQFZVPQuj5FWxsw+X0E05mkpU+GEV7iQO k X-Gm-Gg: ASbGncsrt2Uwgy6Y/srSkBKL4f0CXZ9SquNe7tmZqyCaAADKYsvHXTO4AfhEaiLzm7Z DiGoECaY3PcpNyPOy4CP2JKZ1RRYN+1acNmEbE2rbuI82rIQhKgJuacGrNKlQ22emXPUpfUPYRh fyXWSIRwn68QBzd+ar2ki1opEOhls4cheRjurTMJ9FG7ZckSxVQsWqv9jfE0y7OIoBFYo6qyPn6 Pol8isg6y9oPknVH9REd597uab+L/4REN3vNRCiTl+g+wHkNrB1VwEp+steGKg/fwquJLw0W9nT HWiczUjAAMZYuRz2jn3ZWRs2Q62fl7OXOwH+XU+vK1Z9E5uhPp9YzN+eMQ== X-Google-Smtp-Source: AGHT+IHkP+4c2ZzNK9QkQcMHRPKVzWRhGiN2zgGnGXMF6SLDDtpo2wdABCTGxsBWH7Erbvs5HUz6HA== X-Received: by 2002:a17:902:dacb:b0:215:5ea2:6543 with SMTP id d9443c01a7336-21c35546dcbmr674995685ad.28.1738001333133; Mon, 27 Jan 2025 10:08:53 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21da41413absm66166665ad.123.2025.01.27.10.08.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 10:08:52 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Tyler Retzlaff Subject: [RFC 1/7] eal: add queue macro extensions from FreeBSD Date: Mon, 27 Jan 2025 10:03:55 -0800 Message-ID: <20250127180842.97907-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250127180842.97907-1-stephen@networkplumber.org> References: <20250127180842.97907-1-stephen@networkplumber.org> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The Linux version of sys/queue.h is frozen at an older version and is missing the _SAFE macro variants. Several drivers started introducing the own workarounds for this. Should be handled in EAL. Signed-off-by: Stephen Hemminger --- lib/eal/include/meson.build | 3 +- lib/eal/include/rte_queue.h | 174 ++++++++++++++++++++++++++++++++++++ 2 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 lib/eal/include/rte_queue.h diff --git a/lib/eal/include/meson.build b/lib/eal/include/meson.build index d903577caa..75bf09381f 100644 --- a/lib/eal/include/meson.build +++ b/lib/eal/include/meson.build @@ -19,8 +19,8 @@ headers += files( 'rte_eal.h', 'rte_eal_memconfig.h', 'rte_eal_trace.h', - 'rte_errno.h', 'rte_epoll.h', + 'rte_errno.h', 'rte_fbarray.h', 'rte_hexdump.h', 'rte_hypervisor.h', @@ -38,6 +38,7 @@ headers += files( 'rte_pci_dev_features.h', 'rte_per_lcore.h', 'rte_pflock.h', + 'rte_queue.h', 'rte_random.h', 'rte_reciprocal.h', 'rte_seqcount.h', diff --git a/lib/eal/include/rte_queue.h b/lib/eal/include/rte_queue.h new file mode 100644 index 0000000000..7ec807b15d --- /dev/null +++ b/lib/eal/include/rte_queue.h @@ -0,0 +1,174 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * + * Original Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + */ + +#ifndef _RTE_QUEUE_H_ +#define _RTE_QUEUE_H_ + +/** + * @file + * Defines macro's that exist in the FreeBSD version of queue.h + * which are missing in other versions. + */ + +#include + +/* + * This file defines four types of data structures: singly-linked lists, + * singly-linked tail queues, lists and tail queues. + * + * Below is a summary of implemented functions where: + * o means the macro exists in original version + * + means the macro is added here + * - means the macro is not available + * s means the macro is available but is slow (runs in O(n) time) + * + * SLIST LIST STAILQ TAILQ + * _HEAD o o o o + * _HEAD_INITIALIZER o o o o + * _ENTRY o o o o + * _INIT o o o o + * _EMPTY o o o o + * _FIRST o o o o + * _NEXT o o o o + * _FOREACH o o o o + * _FOREACH_FROM + + + + + * _FOREACH_SAFE + + + + + * _FOREACH_FROM_SAFE + + + + + * _FOREACH_REVERSE - - - o + * _FOREACH_REVERSE_FROM - - - + + * _FOREACH_REVERSE_SAFE - - - + + * _FOREACH_REVERSE_FROM_SAFE - - - + + * _INSERT_HEAD o o o o + * _INSERT_BEFORE - o - o + * _INSERT_AFTER o o o o + * _INSERT_TAIL - - o o + * _CONCAT s s o o + * _REMOVE_AFTER o - o - + * _REMOVE_HEAD o o o o + * _REMOVE s o s o + * + */ + + +/* + * Singly-linked List declarations. + */ +#ifndef SLIST_FOREACH_FROM +#define SLIST_FOREACH_FROM(var, head, field) \ + for ((var) = ((var) ? (var) : SLIST_FIRST((head))); \ + (var); \ + (var) = SLIST_NEXT((var), field)) +#endif + +#ifndef SLIST_FOREACH_SAFE +#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = SLIST_FIRST((head)); \ + (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + +#ifndef SLIST_FOREACH_FROM_SAFE +#define SLIST_FOREACH_FROM_SAFE(var, head, field, tvar) \ + for ((var) = ((var) ? (var) : SLIST_FIRST((head))); \ + (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + + +/* + * Singly-linked Tail queue declarations. + */ +#ifndef STAILQ_FOREACH_FROM +#define STAILQ_FOREACH_FROM(var, head, field) \ + for ((var) = ((var) ? (var) : STAILQ_FIRST((head))); \ + (var); \ + (var) = STAILQ_NEXT((var), field)) +#endif + +#ifndef STAILQ_FOREACH_SAFE +#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = STAILQ_FIRST((head)); \ + (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + +#ifndef STAILQ_FOREACH_FROM_SAFE +#define STAILQ_FOREACH_FROM_SAFE(var, head, field, tvar) \ + for ((var) = ((var) ? (var) : STAILQ_FIRST((head))); \ + (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + +/* + * List declarations. + */ +#ifndef LIST_FOREACH_FROM +#define LIST_FOREACH_FROM(var, head, field) \ + for ((var) = ((var) ? (var) : LIST_FIRST((head))); \ + (var); \ + (var) = LIST_NEXT((var), field)) +#endif + +#ifndef LIST_FOREACH_SAFE +#define LIST_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = LIST_FIRST((head)); \ + (var) && ((tvar) = LIST_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + +#ifndef LIST_FOREACH_FROM_SAFE +#define LIST_FOREACH_FROM_SAFE(var, head, field, tvar) \ + for ((var) = ((var) ? (var) : LIST_FIRST((head))); \ + (var) && ((tvar) = LIST_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + +/* + * Tail queue declarations. + */ +#ifndef TAILQ_FOREACH_FROM +#define TAILQ_FOREACH_FROM(var, head, field) \ + for ((var) = ((var) ? (var) : TAILQ_FIRST((head))); \ + (var); \ + (var) = TAILQ_NEXT((var), field)) +#endif + +#ifndef TAILQ_FOREACH_SAFE +#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ + for ((var) = TAILQ_FIRST((head)); \ + (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + +#ifndef TAILQ_FOREACH_FROM_SAFE +#define TAILQ_FOREACH_FROM_SAFE(var, head, field, tvar) \ + for ((var) = ((var) ? (var) : TAILQ_FIRST((head))); \ + (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ + (var) = (tvar)) +#endif + +#ifndef TAILQ_FOREACH_REVERSE_FROM +#define TAILQ_FOREACH_REVERSE_FROM(var, head, headname, field) \ + for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname)); \ + (var); \ + (var) = TAILQ_PREV((var), headname, field)) +#endif + +#ifndef TAILQ_FOREACH_REVERSE_SAFE +#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ + for ((var) = TAILQ_LAST((head), headname); \ + (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ + (var) = (tvar)) +#endif + +#ifndef TAILQ_FOREACH_REVERSE_FROM_SAFE +#define TAILQ_FOREACH_REVERSE_FROM_SAFE(var, head, headname, field, tvar)\ + for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname)); \ + (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ + (var) = (tvar)) +#endif + +#endif /* !_RTE_QUEUE_H_ */ From patchwork Mon Jan 27 18:03:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 150547 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 6E58A4613A; Mon, 27 Jan 2025 19:09:05 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B3E9740A80; Mon, 27 Jan 2025 19:08:58 +0100 (CET) Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by mails.dpdk.org (Postfix) with ESMTP id 0455740A6F for ; Mon, 27 Jan 2025 19:08:54 +0100 (CET) Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-219f8263ae0so87944005ad.0 for ; Mon, 27 Jan 2025 10:08:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1738001334; x=1738606134; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dWjyaJpPfRt2O7mge3JlSRiZF+HI7CLC8EddcDD7LKw=; b=2cIf9+JM3kIWaALLL2/NbQVWBDr5V3f2lCcRWBRnJbFMBSife54vDOUUCBfQeUXjq4 Eb4AHntXrxq0j4Ldntufjlz3TnC39v/GzrN1jEGDP+1QSqU5lTUEOUwpVmyOP0stXp5m t6GKDbstgph3vmBEZHOdOmcv8quDKeFTlRX0NYrOr8mQ3934GIsVx8pB3HjrpcyGrXLE WICyIFKLUpnkWZDDuR6ewDzs+qc9Ptv3smd8Iiveyb3N9BTGyF8Ykik4+qds9LQ6TIqy pJRI8nBsnVbq+KPsyYKQLubjoKpoRS+TiswoJqckHn+gPdRIf3ST/b7VIV/SPyZifgud 1rtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738001334; x=1738606134; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dWjyaJpPfRt2O7mge3JlSRiZF+HI7CLC8EddcDD7LKw=; b=bX35pv/jMudfseJeSjUyrbScp7JFVb/K7efCgixahyRZRbOWdMafFdzfr0octPWGmL /1+YQ3TWEvswTV+xrXsO4O2EZVpkmNJocmE6PWq6OoNzvhd1Kvv3cUiVXE1TlhriNswB +r4MwPVbsWHXYZZ9Amp53FZdBYMxz2d4D4vPrD9Z/z6IJ2Ec8Nik0RRitd/XdpVZYMdy g7310iX6AyhdGdKMfZRSUH2Q6QIYwHCysdL4j0w2A9M0inuOIa3RRlax65UIgr+TXFA8 iBONpwQQWuF9+vYiIkYhhP5gxTPL1eZ2dneoyB3ssOQS/NJJl9LMY/9R1ys8EVlUZ+qT P/mA== X-Gm-Message-State: AOJu0YyLs+z6ktGH0jbY9Dwbvz+PKmt4Q1O7dmlGNafnDeRQdpEmEqdx AniG5LjcH6LG9gDZFouMewrREaaSnwfK3dXrsVYmYTHbs2F3dc+idpxwB/qsxkdPfLc+K4VF5WC o X-Gm-Gg: ASbGnctnK9WLrBaGBU9cokGRtyYFvGK+9ELTH9rmQr3VJkkzrtFXxeGa5oj+MNV8RwU KhnWd1vEObAMPh3Z6k1Gg4Bltz0j974nfGu7UedUbCsYWSmmhpwmmYWBgCotlDoFK343SBphiZ/ QYqqr1J6eW5ue3pxgO3MQJqUsY4L/pfUYvC0BUZ+Dhb2tRb/yZsAion9Wtuo7RhUlcrZJdbGvWC x16ScVf4OjJjYeHT5L+6dcjlFmQy62p/uFcaP0xl/U/dtaFNvxQYWo5AocmDtgxwVVSsbl+wsRY wz7gue3qnjoXocrxYMy682hKL2GIxJQMoMudKEZI7jeIxrmB8Epr+9ZDRw== X-Google-Smtp-Source: AGHT+IGjJftGHUzjSVZzI+6HjhZW9Wqhsw+qsQTb8bbF0iYel1PCI37xa0iEXF8QrxzdNMaXRaYUUg== X-Received: by 2002:a17:903:2342:b0:215:854c:a71a with SMTP id d9443c01a7336-21c355c432fmr684923515ad.34.1738001334162; Mon, 27 Jan 2025 10:08:54 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21da41413absm66166665ad.123.2025.01.27.10.08.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 10:08:53 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , shahed.shaikh@cavium.com, stable@dpdk.org, Devendra Singh Rawat , Alok Prasad , Shahed Shaikh Subject: [RFC 2/7] net/qede: fix use after free Date: Mon, 27 Jan 2025 10:03:56 -0800 Message-ID: <20250127180842.97907-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250127180842.97907-1-stephen@networkplumber.org> References: <20250127180842.97907-1-stephen@networkplumber.org> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The loop cleaning up flowdir resources was using SLIST_FOREACH but the inner loop would call rte_free. Found by building with address sanitizer undefined check. Also remove needless initialization, and null check. Fixes: f5765f66f9bb ("net/qede: refactor flow director into generic aRFS") Cc: shahed.shaikh@cavium.com Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger --- drivers/net/qede/qede_ethdev.h | 3 +-- drivers/net/qede/qede_filter.c | 13 +++++-------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/drivers/net/qede/qede_ethdev.h b/drivers/net/qede/qede_ethdev.h index 3015c18504..b502658425 100644 --- a/drivers/net/qede/qede_ethdev.h +++ b/drivers/net/qede/qede_ethdev.h @@ -8,8 +8,7 @@ #ifndef _QEDE_ETHDEV_H_ #define _QEDE_ETHDEV_H_ -#include - +#include #include #include #include diff --git a/drivers/net/qede/qede_filter.c b/drivers/net/qede/qede_filter.c index 14fb4338e9..c3f74c89d9 100644 --- a/drivers/net/qede/qede_filter.c +++ b/drivers/net/qede/qede_filter.c @@ -154,15 +154,12 @@ int qede_check_fdir_support(struct rte_eth_dev *eth_dev) void qede_fdir_dealloc_resc(struct rte_eth_dev *eth_dev) { struct qede_dev *qdev = QEDE_INIT_QDEV(eth_dev); - struct qede_arfs_entry *tmp = NULL; + struct qede_arfs_entry *tmp, *tmp2; - SLIST_FOREACH(tmp, &qdev->arfs_info.arfs_list_head, list) { - if (tmp) { - rte_memzone_free(tmp->mz); - SLIST_REMOVE(&qdev->arfs_info.arfs_list_head, tmp, - qede_arfs_entry, list); - rte_free(tmp); - } + SLIST_FOREACH_SAFE(tmp, &qdev->arfs_info.arfs_list_head, list, tmp2) { + rte_memzone_free(tmp->mz); + SLIST_REMOVE(&qdev->arfs_info.arfs_list_head, tmp, qede_arfs_entry, list); + rte_free(tmp); } } From patchwork Mon Jan 27 18:03:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 150549 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 90B474613A; Mon, 27 Jan 2025 19:09:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A33F040B9C; Mon, 27 Jan 2025 19:09:01 +0100 (CET) Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by mails.dpdk.org (Postfix) with ESMTP id 8125840A77 for ; Mon, 27 Jan 2025 19:08:57 +0100 (CET) Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-216401de828so86478245ad.3 for ; Mon, 27 Jan 2025 10:08:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1738001337; x=1738606137; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BcNj3ayfHKccjAPHmi/DersKGLXC4PnHTP301LYfkzQ=; b=YswLj6o0pi+a5GCpk/uGuN+YH1viySjY/TQj/L/xmtWW0zODCTZgErku7/Avzehian 6FeALk9Ael98nEU2gkyKJR05Xtb5c+dsjP7E9ZPzdCtR46Ytal3rrbwrUwycpI7BeiZL XmVQTLY3mTQhVWhtcQUhfggUnUXa2X4/13XWz7VyQyAV/sOaz+hFLQzRrLLArVnpxANH fMW3QCdT0s8zoyeyIzOQLSn3Pcbrz4bP66IvdbR/pxrJ6BnYYGeLeNEdTxVu66OruoIC G5oe6ZrdhrXLFol5vjPWMFHOl8ARDpkSBjpPL+IizWf1dHr5cSyH8HopG12q1w7xXVFg nsKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738001337; x=1738606137; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BcNj3ayfHKccjAPHmi/DersKGLXC4PnHTP301LYfkzQ=; b=hxwyaCMuU4Tolp8nqqWPzH9ea7alom570RspKxFgYft9zME0hd9QWejDeL8b/IqWBL MkkJ3eZje9HAa/tIvj1Pw/ih794iZshBB2guVRo9izD/W0QUYNDdnsqHRLYzuOgG47ac a4gxyz+VEIb9ikzQeFnB7gqpDKXvwZnOosWJIzEEON95Bj1MKzw5P50fe34to0iCgf0r d2015uVtXeafFwcKKjPb2zyOVyr5T69V6gU90Y9lZNwKAg+fWRw7p67JiMZWdjAE95tI MhTajmUrzhc1R8F0AKxvO6qSJxZ0ny61J4O5Kl+grl0aoWYa9WL/BIJvH3TczISprJjR 0ilA== X-Gm-Message-State: AOJu0Ywq/4mm7UsEKpImzkFH9elpePYI/u5lZnZfXnPTg5Ct31On5ETZ 44pNSlqWv2k60/LI0xxiMvIjsB5vTmPurf5pEJphGTbMedQHawyojRBAyYKNu5Wu8bXriwiueJ8 6 X-Gm-Gg: ASbGncucTV7QI2NVVjyyHajx2ftvvIxZRxIQseqHtMVjDMA0AzFCXR8tEKMJbM7CPbn 5K4xa6whf+mVZadNSkBYDNIQAdbMoG2vC8F79qjyM52NwMJZKRHRj1PD93yUfLvi2droBjOZhFK a2vrvqjL9a+52TVI3WAbyr/CF2kLTpiYdsogzJStMjxc5hK68CK2YyNfkeCNooSARytd/j4BF4p e8Uq8RnMrY7GiddvMQe90x2hj2yWBIw7Z0OBA+6ajghOHb8/2geiiKO/PHiF4nuRQuXSmEfzCH0 b4Dk2KH5yY7FZr0Tu8tJKTDpezg9GkY7ejblVAmmCTLHuwqtlunR2Hh/Rw== X-Google-Smtp-Source: AGHT+IFe+kkTndBDQDmnCAKJYB/R7VIofdorsHcragTpa3+LWWLDKRNXg6c71pDL6XExIh1pdzl6lw== X-Received: by 2002:a17:903:124e:b0:215:9470:7e82 with SMTP id d9443c01a7336-21c351bd3afmr604672555ad.4.1738001335263; Mon, 27 Jan 2025 10:08:55 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21da41413absm66166665ad.123.2025.01.27.10.08.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 10:08:54 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , shreyansh.jain@nxp.com, stable@dpdk.org, Hemant Agrawal , Sachin Saxena Subject: [RFC 3/7] bus/fslmc: fix use after free Date: Mon, 27 Jan 2025 10:03:57 -0800 Message-ID: <20250127180842.97907-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250127180842.97907-1-stephen@networkplumber.org> References: <20250127180842.97907-1-stephen@networkplumber.org> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The cleanup loop would deference the dpio_dev after freeing. Use TAILQ_FOREACH_SAFE to fix that. Found by building with sanitizer undefined flag. Fixes: e55d0494ab98 ("bus/fslmc: support secondary process") Cc: shreyansh.jain@nxp.com Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger --- drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c index 2dfcf7a498..6ae15c2054 100644 --- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c +++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -27,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -403,6 +403,7 @@ dpaa2_create_dpio_device(int vdev_fd, struct rte_dpaa2_device *obj) { struct dpaa2_dpio_dev *dpio_dev = NULL; + struct dpaa2_dpio_dev *dpio_tmp; struct vfio_region_info reg_info = { .argsz = sizeof(reg_info)}; struct qbman_swp_desc p_des; struct dpio_attr attr; @@ -588,7 +589,7 @@ dpaa2_create_dpio_device(int vdev_fd, rte_free(dpio_dev); /* For each element in the list, cleanup */ - TAILQ_FOREACH(dpio_dev, &dpio_dev_list, next) { + TAILQ_FOREACH_SAFE(dpio_dev, &dpio_dev_list, next, dpio_tmp) { if (dpio_dev->dpio) { dpio_disable(dpio_dev->dpio, CMD_PRI_LOW, dpio_dev->token); From patchwork Mon Jan 27 18:03:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 150548 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 05D6B4613A; Mon, 27 Jan 2025 19:09:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 26F0840B92; Mon, 27 Jan 2025 19:09:00 +0100 (CET) Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by mails.dpdk.org (Postfix) with ESMTP id 00C2140A72 for ; Mon, 27 Jan 2025 19:08:57 +0100 (CET) Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-21675fd60feso106073835ad.2 for ; Mon, 27 Jan 2025 10:08:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1738001336; x=1738606136; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=p06eYsvXv1vuLyeuHmh4ow/1C2d1Q/ipxd+44YVjGEM=; b=ug9E7tYWZ8RJ/uQoEgFh25VO8EKIGUiMBDjJzy+SVNXsh8vusBsIwbtRixYj/R6rcf 9K79zk2c2mp9Ynf34rMb+ZrbWyvaQdACcpcxl/ZqzPqcaURlr0avbityriX7JK+lBRHx KpkMX8lA0NxgMlwbETa/Skepvp5mArPN1iqtwmZ+Inbl+O6I7GYFttPBCu4vjDqjWcGR RG7U+ELMenjPF7MFygoUle0nfIaLgil7esfYD6AFPBbd+iYk0p96jfJBL7MkT7xgmU4R 895196z4rEkszGRrbTdLRxo+uV2vbnf5/2RXgWMB7cGMxraWzZdYBWFBAe9daBm4YH5Q mmsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738001336; x=1738606136; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p06eYsvXv1vuLyeuHmh4ow/1C2d1Q/ipxd+44YVjGEM=; b=ldjm8w+b3mAtyJ6EkfdH54MYJVH1zlyuo0gGpRKMSudAOeTSIlob8jkMcJ4tYFipk2 EfUP5g0yEIj5fM1ECwAK4/gLhFxoh5kO6BNZ/8EfBzqKcUFKAzqYfu74cmUuWVFUedpT rnYFpgyDRWtfpkYMc63OsyAItDYW+VCOxp+xZzIjB2OgZLmtkcnzi4ubrnw+I+xj85JF hJXSWnCO3UdepMz+d5gXjcRo7LYr4bh5eSbamC4BbpJwgnG+9LIzg7fAOq8MlUd1WmJu KCAOnjVW8HU8G3wMM9nN5OmobVFMCjq/p9tiNw4kAQQANiZmgqSlV9IxJOUqb0IhOow3 /1Fg== X-Gm-Message-State: AOJu0YxLoZbjpAkMsO+zDtRp1L2KWyi3R/EXPSbxq3XoQAznmaR95Hmx DZBRcjScfBcsB2K8QtoHSN5k4ZLKvu9T+xRiq9/0U6eIpRGqriT0ok7InEjaOhtMCaLa3jhEgDq f X-Gm-Gg: ASbGncu6D8mvLQrChNHnJYdgDktLFB0CQoNJxUlEIJTtaT5w0yUdLtPykkJ6l7jMaUR 9LBFDLoKxZwmoDlhTwgnzq9oMN2slvun+neepRlZS6A7XJMJAG5ysbfiVp/u9/Bv8cRQYBP2ZTR cCthxNoAVghdnLm58SJF4ObHRmODcF2ZjJL6BGDxHRMrFszuEMGw3Sm6j7P0RLDEmbx2d9L5Imc rd3njw4kLmPaqPZ54qO7NH/Zwfu/m5EYPY61cplb4+mdOY7C8QLbr5IXGNLDLaG+Syc+D4ohL1W 2EbiniAT/1iv64EqCW/Uh5VYTsbwA0hjmtNsH18fhzW0S2CCjiQEy+JrAg== X-Google-Smtp-Source: AGHT+IHHfxiqFTIu56QYSHrl8BHA0EApsG0PfRgfJdCtFsdIroOHp7oPVPhMnjf1fGkeR9CXXYZ5Kg== X-Received: by 2002:a17:902:d4c9:b0:216:31aa:12fc with SMTP id d9443c01a7336-21c35563f15mr703604635ad.24.1738001336275; Mon, 27 Jan 2025 10:08:56 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21da41413absm66166665ad.123.2025.01.27.10.08.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 10:08:55 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , ajit.khaparde@broadcom.com, stable@dpdk.org, Somnath Kotur , Kalesh AP Subject: [RFC 4/7] net/bnxt: fix use after free Date: Mon, 27 Jan 2025 10:03:58 -0800 Message-ID: <20250127180842.97907-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250127180842.97907-1-stephen@networkplumber.org> References: <20250127180842.97907-1-stephen@networkplumber.org> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The filter cleanup loop was using STAILQ_FOREACH and rte_free and would dereference the filter after free. Found by build with -Dbsanitize=address,undefined Fixes: e8fe0e067b68 ("net/bnxt: fix allocation of PF info struct") Cc: ajit.khaparde@broadcom.com Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger Acked-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_filter.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/bnxt_filter.c b/drivers/net/bnxt/bnxt_filter.c index 7b90ba651f..f083f3aa94 100644 --- a/drivers/net/bnxt/bnxt_filter.c +++ b/drivers/net/bnxt/bnxt_filter.c @@ -3,14 +3,12 @@ * All rights reserved. */ -#include - #include #include #include #include #include -#include +#include #include "bnxt.h" #include "bnxt_filter.h" @@ -151,7 +149,9 @@ void bnxt_free_filter_mem(struct bnxt *bp) bp->filter_info = NULL; for (i = 0; i < bp->pf->max_vfs; i++) { - STAILQ_FOREACH(filter, &bp->pf->vf_info[i].filter, next) { + struct bnxt_filter_info *tmp; + + STAILQ_FOREACH_SAFE(filter, &bp->pf->vf_info[i].filter, next, tmp) { rte_free(filter); STAILQ_REMOVE(&bp->pf->vf_info[i].filter, filter, bnxt_filter_info, next); From patchwork Mon Jan 27 18:03:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 150550 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 4F7BB4613A; Mon, 27 Jan 2025 19:09:24 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D2FC740BA5; Mon, 27 Jan 2025 19:09:02 +0100 (CET) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by mails.dpdk.org (Postfix) with ESMTP id 1818240A82 for ; Mon, 27 Jan 2025 19:08:59 +0100 (CET) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-21634338cfdso5911435ad.2 for ; Mon, 27 Jan 2025 10:08:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1738001338; x=1738606138; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H/hCTYgU39D3VQ6P3As8/oHgUD7UAI3QNHUuRVYNtFo=; b=xioNaB4SCfWW7ReZiPxyUnAlNzrKh5+XXmghojhJTjIq2oHdyvcAMp6fP+XU9RS/nE 6MdT4Xr7AzLFGM3JdM109dGo+YS0/kt+RSbXgFXoHA5rHCY1cyAh94teybiGGkI+utLY F//81Ne7ds1LgFY+eYMqkMUBq1LQgjyLxsCPNpgJlyLxxDyxb50jdz6JnBl8L1YAp4r6 byR98wuLIxuHdgwyW/fxgk/zue2UnF54kqqUBMmU8Wb8z3vGDkt7SzDR0PIdQSjw+Juu BunjGPiWzxpjXwE/ndETAMVaX9+pCLCAKEpyrKjXKXQ6o7jARDmQ2uu+YQmORpF79K0q iesQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738001338; x=1738606138; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H/hCTYgU39D3VQ6P3As8/oHgUD7UAI3QNHUuRVYNtFo=; b=K9Bwp7De/CYAvtJl6CjTBWQcT2/EgMbukdT7xcPWfpXNJwLfKRX6/LXqnkz5Y5EFS4 bNHmpFj9gLoRjD56Ed98gFNqHi9iIlMakK7DJOWX5uVe/4LZo8CfJSLrD+RPgNp1M4AB S636HXqLSdggC/lY3p7MSD/Y0t6KNOUTVEjABNyD//dtw74NduxYj8cwqtw2LEvhkr2Y PeG8E0q0sG1hicLoVsIKF+/gHhtVxidx6jGGcqR9tWnx/RfmSrL7PU0hR/VpW1ypcMdJ Aj2cfJrxOKJhaNfa5B2ifC3yBdt3Hhf9o2vs0Lgsw9buGEupdS+clfjG7Jkmxxdf8y3H V6VQ== X-Gm-Message-State: AOJu0YzuLkYNux/fAis42Ux9qPe6u+cBu+UR/RhHzGHl0Cw7HDvj3cvR 1et9cGeJcF5t4Sepvj9P0bjlstSw/trF/MMkU5Y8/m9lPInYBbdUkTRNX2ApBKD7q4AkvKaUViF K X-Gm-Gg: ASbGnctWEcoOaeT4SbipHHP+C7P22giyllJef4Y6J+Ml1TZgIcsnlNhW/2OXDUD9/bu bDK9iHwV4oYR5XRJhsxKOH7Bukj7pM2CoOZcVshSR5qwjNovfKs9z60rkJHwWJBkz64TUB7PLKQ WkFw/00gsJxmLRRs0EpD1rVVdCUT9vpN1lOdSUe/x8r2PKyqdv/l8fHDWqzPhYco8M2e/N8cX8q jd6y2nGyWsTCF2TT8vJFAKoX1WNZ2tOPDCywtK92vAS+PQT0efDblmBsUhRsCfw7GyqD0dXqrWw etYlreBh0W3cW29xKOv2l4dUlivbGS50WqtAU/OXLUSSJF8sfLpD/67fDQ== X-Google-Smtp-Source: AGHT+IGzlIXGSN6HfLNiRbs2gg9M/PQI08lhkb1/mn/DUou++poaYa5NQFPUXbsF8/wTwNRYgNnUlw== X-Received: by 2002:a17:903:24d:b0:216:4cc0:aa4e with SMTP id d9443c01a7336-21c3578a2damr537724835ad.47.1738001337286; Mon, 27 Jan 2025 10:08:57 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21da41413absm66166665ad.123.2025.01.27.10.08.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 10:08:56 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Vladimir Medvedkin , Ian Stokes Subject: [RFC 5/7] net/iavf: replace local version of TAILQ_FOREACH_SAFE Date: Mon, 27 Jan 2025 10:03:59 -0800 Message-ID: <20250127180842.97907-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250127180842.97907-1-stephen@networkplumber.org> References: <20250127180842.97907-1-stephen@networkplumber.org> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Now in EAL as rte_queue.h Signed-off-by: Stephen Hemminger --- drivers/net/iavf/iavf_vchnl.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c index 065ab3594c..c9684ae189 100644 --- a/drivers/net/iavf/iavf_vchnl.c +++ b/drivers/net/iavf/iavf_vchnl.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -52,13 +53,6 @@ static struct iavf_event_handler event_handler = { .fd = {-1, -1}, }; -#ifndef TAILQ_FOREACH_SAFE -#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ - for ((var) = TAILQ_FIRST((head)); \ - (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ - (var) = (tvar)) -#endif - static uint32_t iavf_dev_event_handle(void *param __rte_unused) { From patchwork Mon Jan 27 18:04:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 150551 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 2C9E04613A; Mon, 27 Jan 2025 19:09:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D26B940DCE; Mon, 27 Jan 2025 19:09:03 +0100 (CET) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mails.dpdk.org (Postfix) with ESMTP id 31F7840A84 for ; Mon, 27 Jan 2025 19:08:59 +0100 (CET) Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2164b662090so92757045ad.1 for ; Mon, 27 Jan 2025 10:08:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1738001338; x=1738606138; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aWhn84AfKM0OcNNaAHnwDfGv2ymxXYmX8+xaGZgMySo=; b=bZ0VgcNvU+UXgqR8kZyV5ykIa6fLHXwHhxjBIRU8rIpTYtBwUIUEHJuc+aw3YvyyVh ncdBm9wxjLLIEB8bmQROurms/HfatfWJhkp87n4hI6MQL4aNcvXr5JCZ8sZV2N+PbB/G Vz+ZhThiPbgGVoduioEPFBJ8sQd7rqKf0i9UID03d92H4PTV1759LEdCNid6UfYBj+sc 2+AzHcfhYyxS/DGFVcrnPxkxVtfIZXyAbbqh7mMdHIZybcmE+JqqMosuul28u+6E9ROE CGqvH/TkUVWfw63Thgw0xCIFJfJfonWzqB2XSF+9MIPcjfvMkDM1fDTpugtXRkNNKpQO H8Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738001338; x=1738606138; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aWhn84AfKM0OcNNaAHnwDfGv2ymxXYmX8+xaGZgMySo=; b=dCuYlCw9AJbUvFv9s1BDaGe2AZT/6VwIqoKy0/RIivHgUI4dX8+bdIMNJ3ua8wfPms r8ELA2Zslf2i6UHmL03CqN3TcVDqKjPi9tAP0YDGhOuaRZBeRqltw3U1RBzCGnOKcDBO edu/2Tgonyrdu8/EOx/mcSG7wE92LdOVQ4DWzTqVSLyt9kvIHHQVz+u9GY9jOseEj2sx 8SwIxfCk9QlMrmPYCjdHEUpxLODBikDizIxwILtgIdQevrVakfYC4syGeNyq0uBIJlrV CdRTG9DHNSwBC82h08wFxCcgY+6DGzIORhXnc1C/ozLlmDIVnlCB+/Yuqc+2iLeClDh8 0/yg== X-Gm-Message-State: AOJu0YxpSXSTW+4OIl5tJsoUwgSSp0J4ELNvTsX6CnT2aBaYOWGo/oV9 j/t5czs1x18bBpm1bEO+v//JdADk/N356D4p9GZhwx8iP8YQ+mF11qIgxSVxKCtvcxuKUJBWKJH / X-Gm-Gg: ASbGncsvBgrEsclKUMmsHt7cg2+p87PE7zBpw64Www94QOKbJwkamh3XZRY7szunyoI ACK9I2DozPAoYv/kTqghXBcN8YR377NT+AZAE9gfojZUXTy1QQe/szTP67VyiLChu9yrwVa4Pvj izZeCtGGhaC0msLYwww6F9AcBTMFP9pXMxK0ms9jaqaOEdpROi5Z2P2FS2f7sVAhU98TN5ZTer3 zmzCnLHWdO27+bgXIfBngZ9K3rH688eCxADkASI9mQwGjA0useVVZQ/zZRsTl+HtX9NCOGTwrTc zJGze/4wHwsrKEFNJEN+FzZKAojEhJErGt5L76n4uTRCCx1mQt0HubNDdA== X-Google-Smtp-Source: AGHT+IH+lyfoPToji8w5B8nXA6kUNAigKaN8Br6aNUBoqYk7KPDcYGcDgBzASOp/F/a5kuAP8LTjAA== X-Received: by 2002:a17:902:f690:b0:216:2a5a:89d3 with SMTP id d9443c01a7336-21c35558fabmr559902125ad.25.1738001338178; Mon, 27 Jan 2025 10:08:58 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21da41413absm66166665ad.123.2025.01.27.10.08.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 10:08:57 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Maxime Coquelin , Chenbo Xia Subject: [RFC 6/7] vhost: replace open coded TAILQ_FOREACH_SAFE Date: Mon, 27 Jan 2025 10:04:00 -0800 Message-ID: <20250127180842.97907-7-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250127180842.97907-1-stephen@networkplumber.org> References: <20250127180842.97907-1-stephen@networkplumber.org> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Proper macro is now in EAL rte_queue.h use it instead. Signed-off-by: Stephen Hemminger --- lib/vhost/socket.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lib/vhost/socket.c b/lib/vhost/socket.c index 05a7e5902f..625ed08b7c 100644 --- a/lib/vhost/socket.c +++ b/lib/vhost/socket.c @@ -10,10 +10,10 @@ #include #include #include -#include #include #include +#include #include #include @@ -458,14 +458,7 @@ vhost_user_client_reconnect(void *arg __rte_unused) while (1) { pthread_mutex_lock(&reconn_list.mutex); - /* - * An equal implementation of TAILQ_FOREACH_SAFE, - * which does not exist on all platforms. - */ - for (reconn = TAILQ_FIRST(&reconn_list.head); - reconn != NULL; reconn = next) { - next = TAILQ_NEXT(reconn, next); - + TAILQ_FOREACH_SAFE(reconn, &reconn_list.head, next, next) { ret = vhost_user_connect_nonblock(reconn->vsocket->path, reconn->fd, (struct sockaddr *)&reconn->un, sizeof(reconn->un)); From patchwork Mon Jan 27 18:04:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 150552 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 5C81C4613A; Mon, 27 Jan 2025 19:09:35 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 509DC40B97; Mon, 27 Jan 2025 19:09:05 +0100 (CET) Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by mails.dpdk.org (Postfix) with ESMTP id 3009B40B94 for ; Mon, 27 Jan 2025 19:09:00 +0100 (CET) Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2164b1f05caso82122205ad.3 for ; Mon, 27 Jan 2025 10:09:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1738001339; x=1738606139; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QmU9Pkp1Zl5xn70rcxvIfHhUDrzhnR6+6iiKtFQg9Xg=; b=udPr9qscIXjA4lYev0zdd7sklCemjzWL0nO4SM1CBPY6tmKykL7VWprkGhaDqNTiwY mX6n5kHLGWKJ2ErWRIAbaWvZs8ru+o5PpeuXpBCidRDLngrxA91L5iCqCVoGBH4kKRRQ JWvUYftXXwsCf6eTLml3XvmdJD0KIDXhMbpnnZxhGeznTS2XNPV2Xk+E62Rr2zeNSmPv 9NPeem+E2brNwDCIksvqP640PhchBnZi4Sa11WAfeYw3hXgyjpd7iqX9mA0+2BywpdAi u3x0FHee0t2nKVXSjoXgu+4ahBzLpspFy6Le0/yI4tWrwq2gdayZgmGJNnHhyd4VSgVu 3sqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738001339; x=1738606139; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QmU9Pkp1Zl5xn70rcxvIfHhUDrzhnR6+6iiKtFQg9Xg=; b=K8uHYzDEiHdOnOXziFgLlAJVT1iajXsempqOnbZFd+VhVMsxhS8IG9fhJnKSIQ4znu 9+GjYYutYrVSfq6+EcHLL3H2kzYv/4S6ZuPQy9WDZ9nPN2cYXRS0f2Cqmi/29zpuOnWN LUJ7esc022vcbXza712V5epmIyu7VFttpuHHjDBaND5GfrANqnKwP0hmCJLqCAhmCANo p1Ee1GQw+XjGlQ2c/FBHMELuGJFBG0Cih9y3kT0uHn/Huu7tnQdp2HFP4idOYeXTQByo E0NyTOyQ6vUPOdRx7MMMVYNPX4S+bwYMpsN0YpA4QRwFoKawEeVlo9IvoTNQ643hsVMU Qadg== X-Gm-Message-State: AOJu0YzTRlbj3Gr+K5ovzX3qfsOULNbdEtgU35UnlGUr5Zt1C8q3VeHn NUHbYa+AYwup3/J9BWnU27z2sucStVjXPjWARXxSK7a7cEaqwp4i6UW7bwEm7LtT0b1inOFAHq0 8 X-Gm-Gg: ASbGncvsc1zrzWW+NkxTYidDzwQXRybFuu8VsXG+3B5li5e7PaBit/ebUH0OrR1yb13 Ai18VTdXL7r5Sj6cfaAs26IsyZve58LwArVNs+Ke/Df8eu/bR8khTdOZkKTXSFo2siAxuIr67QA pnuXNRYsqmKPSJQNwUvWg/JIDCqOCPlO5cnSJZSTvkVi6LwLc8ThMXf9enWWrJw3ubbQmcuHZa+ YxHJ6wd5b6FlJyiuhwAWcxkcF6gVdfvfrnEKLNPPlvUdcXpfta9ZyP/KRgwvGNno8X1GCFv/E3m VwMpc17ty7mS1uaUl6TiHv5x2yPE0yd0KNm+5sHdxY3TS7Pk0PfRlVO+YA== X-Google-Smtp-Source: AGHT+IGV4GTVbPOc9m62gNFYXygcqAXlSkrJECxwK0r6dT7aPs/tRM+uC+dZzkrR73THqyd9ZW9ueQ== X-Received: by 2002:a17:902:cf0b:b0:216:2af7:a2a3 with SMTP id d9443c01a7336-21c3560726cmr721642955ad.53.1738001339347; Mon, 27 Jan 2025 10:08:59 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21da41413absm66166665ad.123.2025.01.27.10.08.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jan 2025 10:08:58 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Rosen Xu Subject: [RFC 7/7] raw/ifpga: use EAL version of TAILQ_FOREACH_SAFE Date: Mon, 27 Jan 2025 10:04:01 -0800 Message-ID: <20250127180842.97907-8-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250127180842.97907-1-stephen@networkplumber.org> References: <20250127180842.97907-1-stephen@networkplumber.org> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Prefer the EAL version over local version of macro. Signed-off-by: Stephen Hemminger Reviewed-by: Rosen Xu --- drivers/raw/ifpga/base/opae_osdep.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/raw/ifpga/base/opae_osdep.h b/drivers/raw/ifpga/base/opae_osdep.h index e35a21c80e..b483d00a54 100644 --- a/drivers/raw/ifpga/base/opae_osdep.h +++ b/drivers/raw/ifpga/base/opae_osdep.h @@ -11,6 +11,7 @@ #ifdef RTE_LIB_EAL #include "osdep_rte/osdep_generic.h" +#include #else #include "osdep_raw/osdep_generic.h" #endif