From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2E1AA4569C for ; Wed, 24 Jul 2024 13:34:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2841F433E7; Wed, 24 Jul 2024 13:34:53 +0200 (CEST) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mails.dpdk.org (Postfix) with ESMTP id 12CE042D28 for ; Wed, 24 Jul 2024 13:34:51 +0200 (CEST) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-427fc97a88cso1163075e9.0 for ; Wed, 24 Jul 2024 04:34:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721820890; x=1722425690; 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+8njori/cPR9VcpfJA7SR7E5CX0AeRmhLxf1N328Ng=; b=m1prPv4wZa9wWTRhezNSIykQE+xQeJBA+ADmS7/opPqMEhM9YpKLQg3gcD6OTI7vUi gzHXNXRi9zKbI6aGW0UwCIh9xITFWjXi8Ud6alid1V3pnmty55ZVjs6BvOJtEq/3528r iPXTmiTrxah6UUuKIi6jjJf0kYzoODWPeU3cEPnXIJCZ6BHhM79B9lFAIV3ULMl1Sjeu MtjB/sthu9dPVVuwR1vKDUDtR9WtkXTE1Ij37xf+PKHXGiNsfahYIFRPdKotX35DMGDZ PkGmQQm8cJAJ/2SKt2dmsZh2VWkEAn0d1yTA53EAEPB7qTAu1y4c3e+f8dFyUTID7sg+ WU2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721820891; x=1722425691; 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+8njori/cPR9VcpfJA7SR7E5CX0AeRmhLxf1N328Ng=; b=BJVM++HMIrWb6Ny7Ls9i0dhqAauNN/4QJG33k1HuKsvXuOp0WjMSDPkNtiWLS1Zs7e 4dKNRP48LMa0U64gHMNU0thPGbPRHyHD4KyVGKaM0pM1Q8OgsRrrB0dl9Dp74vtqjeL2 oPAn7heNGnyPqaFBcynzVGJAnZ7o7ur+l6TjKGuEskiqLI/A7tHf2G52mzYL6s3zuQEc LJ+Jdsf0+RkzDNVjiN11xyQlvcU2fm8ogubtAxjeK36um3Cgdn8MKfj22YTVhZflNkPI TY1/q9gm5MjlTkevPCxQgXFLoerL1qPPca77lyaum4z8OEJjxUjpDda6SK/oaJDGoIVd sRfQ== X-Gm-Message-State: AOJu0YzH6X64Niv5Sz2vjW1tGbDuuTIp6UJY0x7u9L/1RlqaMEhWRvcn 0lwDx4VFTmbpCc4jkplg/X5xpZU5gZHfR4DWsQ0sqSb7vEYWzjsPSZOt1dvB X-Google-Smtp-Source: AGHT+IFb1E9JHXjKINHn5IO+Impkqo0Foo81OpldEqKi2BA8JIt3G6iF868dIe9JmFBYB2X360K9XA== X-Received: by 2002:a05:600c:3b1f:b0:426:5cee:4abc with SMTP id 5b1f17b1804b1-427f955d632mr13085105e9.20.1721820890529; Wed, 24 Jul 2024 04:34:50 -0700 (PDT) Received: from localhost ([137.220.120.171]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-368787ecec0sm14059681f8f.105.2024.07.24.04.34.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jul 2024 04:34:50 -0700 (PDT) From: luca.boccassi@gmail.com To: Stephen Hemminger Cc: dpdk stable Subject: patch 'app/pdump: handle SIGTERM and SIGHUP' has been queued to stable release 22.11.6 Date: Wed, 24 Jul 2024 12:33:08 +0100 Message-Id: <20240724113318.616754-30-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240724113318.616754-1-luca.boccassi@gmail.com> References: <20240715152704.2229503-86-luca.boccassi@gmail.com> <20240724113318.616754-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 22.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/26/24. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/8ea890172ead4d39327a6939114243270ae438c5 Thanks. Luca Boccassi --- >From 8ea890172ead4d39327a6939114243270ae438c5 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 3 Jul 2024 08:45:44 -0700 Subject: [PATCH] app/pdump: handle SIGTERM and SIGHUP [ upstream commit e1253df666fdc672bc378722db0da2ce3091a8dd ] The pdump application will leak ring and memory pool if killed by SIGTERM. Like dumpcap, the pdump process should cleanup if process terminates due to being killed or hangup. Fixes: caa7028276b8 ("app/pdump: add tool for packet capturing") Signed-off-by: Stephen Hemminger --- app/pdump/main.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/app/pdump/main.c b/app/pdump/main.c index 9ea8ed8943..6216d5454c 100644 --- a/app/pdump/main.c +++ b/app/pdump/main.c @@ -571,13 +571,9 @@ disable_primary_monitor(void) } static void -signal_handler(int sig_num) +signal_handler(int sig_num __rte_unused) { - if (sig_num == SIGINT) { - printf("\n\nSignal %d received, preparing to exit...\n", - sig_num); - quit_signal = 1; - } + quit_signal = 1; } static inline int @@ -974,6 +970,11 @@ enable_primary_monitor(void) int main(int argc, char **argv) { + struct sigaction action = { + .sa_flags = SA_RESTART, + .sa_handler = signal_handler, + }; + struct sigaction origaction; int diag; int ret; int i; @@ -982,8 +983,14 @@ main(int argc, char **argv) char mp_flag[] = "--proc-type=secondary"; char *argp[argc + 2]; - /* catch ctrl-c so we can print on exit */ - signal(SIGINT, signal_handler); + /* catch ctrl-c so we can cleanup on exit */ + sigemptyset(&action.sa_mask); + sigaction(SIGTERM, &action, NULL); + sigaction(SIGINT, &action, NULL); + sigaction(SIGPIPE, &action, NULL); + sigaction(SIGHUP, NULL, &origaction); + if (origaction.sa_handler == SIG_DFL) + sigaction(SIGHUP, &action, NULL); argp[0] = argv[0]; argp[1] = n_flag; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-07-24 12:29:22.974826851 +0100 +++ 0030-app-pdump-handle-SIGTERM-and-SIGHUP.patch 2024-07-24 12:29:20.803026775 +0100 @@ -1 +1 @@ -From e1253df666fdc672bc378722db0da2ce3091a8dd Mon Sep 17 00:00:00 2001 +From 8ea890172ead4d39327a6939114243270ae438c5 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit e1253df666fdc672bc378722db0da2ce3091a8dd ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -15,2 +16,2 @@ - app/pdump/main.c | 21 +++++++++++++++------ - 1 file changed, 15 insertions(+), 6 deletions(-) + app/pdump/main.c | 23 +++++++++++++++-------- + 1 file changed, 15 insertions(+), 8 deletions(-) @@ -19 +20 @@ -index 3bdbb8dc78..fa85859703 100644 +index 9ea8ed8943..6216d5454c 100644 @@ -22 +23 @@ -@@ -571,11 +571,9 @@ disable_primary_monitor(void) +@@ -571,13 +571,9 @@ disable_primary_monitor(void) @@ -29,0 +31,2 @@ +- printf("\n\nSignal %d received, preparing to exit...\n", +- sig_num); @@ -36 +39 @@ -@@ -975,6 +973,11 @@ enable_primary_monitor(void) +@@ -974,6 +970,11 @@ enable_primary_monitor(void) @@ -48 +51 @@ -@@ -983,8 +986,14 @@ main(int argc, char **argv) +@@ -982,8 +983,14 @@ main(int argc, char **argv)