gazelle/0271-fix-the-coredump-when-gazellectl-l.patch
yangchen 5f1013d5be fix the coredump when gazellectl -l
(cherry picked from commit 07e67a4cfebca73930af8bfbee124bedd2eac084)
2024-10-16 11:20:31 +08:00

37 lines
1.3 KiB
Diff

From 577698e8a9a44d5689a7608e7bfbe27ed6529a54 Mon Sep 17 00:00:00 2001
From: yangchen <yangchen145@huawei.com>
Date: Fri, 11 Oct 2024 10:48:03 +0800
Subject: [PATCH] fix the coredump when gazellectl -l
---
src/lstack/core/lstack_stack_stat.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/lstack/core/lstack_stack_stat.c b/src/lstack/core/lstack_stack_stat.c
index 8efa5ab..c88da8f 100644
--- a/src/lstack/core/lstack_stack_stat.c
+++ b/src/lstack/core/lstack_stack_stat.c
@@ -64,7 +64,7 @@ void time_stamp_record(int fd, struct pbuf *pbuf)
{
struct lwip_sock *sock = lwip_get_socket(fd);
- if (get_protocol_stack_group()->latency_start && sock && pbuf) {
+ if (get_protocol_stack_group()->latency_start && sock && sock->stack && pbuf) {
calculate_lstack_latency(&sock->stack->latency, pbuf, GAZELLE_LATENCY_INTO_MBOX, 0);
time_stamp_into_recvmbox(sock);
}
@@ -122,6 +122,10 @@ void calculate_lstack_latency(struct gazelle_stack_latency *stack_latency, const
}
lt = &pbuf_to_private(pbuf)->lt;
+ if (lt == NULL) {
+ return;
+ }
+
lt_type = (type / GAZELLE_LATENCY_READ_MAX) ? GAZELLE_LATENCY_WR : GAZELLE_LATENCY_RD;
if (lt->stamp != ~(lt->check) || lt->stamp < stack_latency->start_time || lt_type != lt->type) {
return;
--
2.33.0