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 DC70245804 for ; Fri, 23 Aug 2024 18:24:10 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D7D0A4336D; Fri, 23 Aug 2024 18:24:10 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 16C3B402BE for ; Fri, 23 Aug 2024 18:24:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1724430248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CWECx4O2BrdTd/MDGYjcWPP5uoH8ewIcni7/+qIuGCw=; b=WC0IOfYihJje+fEagCqaQgEixQBkasOqMnbjrQUtZ89iDO35VA/eUy6ucRav3KoahWRdoR v22fOXK1uYfDiepiBrg21uB+cj6XRNliX3+WKkMXs/H/DLVhNS1Zq7SL84n5aN25o8X6To QZSiS+4l36NctbmHCS8u57Gh1eSvbhA= Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-441-Hwk6xc-_OwKxzRf7iyCCbA-1; Fri, 23 Aug 2024 12:24:05 -0400 X-MC-Unique: Hwk6xc-_OwKxzRf7iyCCbA-1 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 6D55A1955D55; Fri, 23 Aug 2024 16:24:04 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.193.224]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 13BFC19560A3; Fri, 23 Aug 2024 16:24:02 +0000 (UTC) From: Kevin Traynor To: Stephen Hemminger Cc: dpdk stable Subject: patch 'app/dumpcap: handle SIGTERM and SIGHUP' has been queued to stable release 21.11.8 Date: Fri, 23 Aug 2024 17:19:16 +0100 Message-ID: <20240823161929.1004778-128-ktraynor@redhat.com> In-Reply-To: <20240823161929.1004778-1-ktraynor@redhat.com> References: <20240823161929.1004778-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true 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 21.11.8 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/28/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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/052fe1c82c7e6937a718ab8bc7afc51043cb83fc Thanks. Kevin --- >From 052fe1c82c7e6937a718ab8bc7afc51043cb83fc Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 3 Jul 2024 08:45:43 -0700 Subject: [PATCH] app/dumpcap: handle SIGTERM and SIGHUP [ upstream commit b04d11bdc672cf8afb7a544077303a941a6a2baa ] If the dumpcap is killed it does not cleanup which leaves the ring buffer and the memory pool behind. Until resource are exhausted devices will continue to fill the ring. Fix by having the application handle SIGTERM, SIGHUP, and SIGPIPE. These are the same signals handled in same way by the wireshark dumpcap application. Fixes: cbb44143be74 ("app/dumpcap: add new packet capture application") Signed-off-by: Stephen Hemminger --- app/dumpcap/main.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/dumpcap/main.c b/app/dumpcap/main.c index 44576bed42..1025598b6d 100644 --- a/app/dumpcap/main.c +++ b/app/dumpcap/main.c @@ -790,4 +790,9 @@ int main(int argc, char **argv) struct rte_ring *r; struct rte_mempool *mp; + struct sigaction action = { + .sa_flags = SA_RESTART, + .sa_handler = signal_handler, + }; + struct sigaction origaction; dumpcap_out_t out; char *p; @@ -815,6 +820,11 @@ int main(int argc, char **argv) enable_pdump(r, mp); - signal(SIGINT, signal_handler); - signal(SIGPIPE, SIG_IGN); + 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); enable_primary_monitor(); -- 2.46.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-08-23 17:18:13.543726498 +0100 +++ 0128-app-dumpcap-handle-SIGTERM-and-SIGHUP.patch 2024-08-23 17:18:09.891430703 +0100 @@ -1 +1 @@ -From b04d11bdc672cf8afb7a544077303a941a6a2baa Mon Sep 17 00:00:00 2001 +From 052fe1c82c7e6937a718ab8bc7afc51043cb83fc Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b04d11bdc672cf8afb7a544077303a941a6a2baa ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index b25b95e2fc..ba91ca94d0 100644 +index 44576bed42..1025598b6d 100644 @@ -26 +27 @@ -@@ -937,4 +937,9 @@ int main(int argc, char **argv) +@@ -790,4 +790,9 @@ int main(int argc, char **argv) @@ -36,2 +37,2 @@ -@@ -962,6 +967,11 @@ int main(int argc, char **argv) - compile_filters(); +@@ -815,6 +820,11 @@ int main(int argc, char **argv) + enable_pdump(r, mp);