]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ECBackend: Fix null pointer dereference when enabling jaeger tracing 41604/head
authorMisono Tomohiro <misono.tm@gmail.com>
Mon, 31 May 2021 12:01:59 +0000 (21:01 +0900)
committerMisono Tomohiro <misono.tomohiro@jp.fujitsu.com>
Tue, 1 Jun 2021 05:59:07 +0000 (14:59 +0900)
As comment in header says client_op might be null, we need to check it
first before accessing client_op->osd_parent_span.

Fixes: #51030
Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com>
src/osd/ECBackend.cc

index 70b6d734f4ba413a916c3feaa21e9264477e5c27..7938f5c0eb731c82afcdf09e2f75f39e9d1d028d 100644 (file)
@@ -941,7 +941,7 @@ void ECBackend::handle_sub_write(
     msg->mark_event("sub_op_started");
   trace.event("handle_sub_write");
 #ifdef HAVE_JAEGER
-  if (msg->osd_parent_span) {
+  if (msg && msg->osd_parent_span) {
     auto ec_sub_trans = jaeger_tracing::child_span(__func__, msg->osd_parent_span);
   }
 #endif
@@ -1544,7 +1544,7 @@ void ECBackend::submit_transaction(
     op->trace = client_op->pg_trace;
 
 #ifdef HAVE_JAEGER
-  if (client_op->osd_parent_span) {
+  if (client_op && client_op->osd_parent_span) {
     auto ec_sub_trans = jaeger_tracing::child_span("ECBackend::submit_transaction", client_op->osd_parent_span);
   }
 #endif
@@ -2118,7 +2118,7 @@ bool ECBackend::try_reads_to_commit()
   }
 
 #ifdef HAVE_JAEGER
-   if (op->client_op->osd_parent_span) {
+   if (op->client_op && op->client_op->osd_parent_span) {
       auto sub_write_span = jaeger_tracing::child_span("EC sub write", op->client_op->osd_parent_span);
     }
 #endif