37 lines
1.3 KiB
Diff
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
|
|
|