@@ -473,12 +473,10 @@ __dfsan_mem_shadow_origin_conditional_exchange(u8 condition, void *target,
473
473
}
474
474
}
475
475
476
- namespace __dfsan {
477
-
478
- bool dfsan_inited = false ;
479
- bool dfsan_init_is_running = false ;
476
+ bool __dfsan::dfsan_inited;
477
+ bool __dfsan::dfsan_init_is_running;
480
478
481
- void dfsan_copy_memory (void *dst, const void *src, uptr size) {
479
+ void __dfsan:: dfsan_copy_memory (void *dst, const void *src, uptr size) {
482
480
internal_memcpy (dst, src, size);
483
481
dfsan_mem_shadow_transfer (dst, src, size);
484
482
if (dfsan_get_track_origins ())
@@ -545,7 +543,8 @@ static void ReleaseOrClearShadows(void *addr, uptr size) {
545
543
}
546
544
}
547
545
548
- void SetShadow (dfsan_label label, void *addr, uptr size, dfsan_origin origin) {
546
+ static void SetShadow (dfsan_label label, void *addr, uptr size,
547
+ dfsan_origin origin) {
549
548
if (0 != label) {
550
549
const uptr beg_shadow_addr = (uptr)__dfsan::shadow_for (addr);
551
550
internal_memset ((void *)beg_shadow_addr, label, size);
@@ -560,8 +559,6 @@ void SetShadow(dfsan_label label, void *addr, uptr size, dfsan_origin origin) {
560
559
ReleaseOrClearShadows (addr, size);
561
560
}
562
561
563
- } // namespace __dfsan
564
-
565
562
// If the label s is tainted, set the size bytes from the address p to be a new
566
563
// origin chain with the previous ID o and the current stack trace. This is
567
564
// used by instrumentation to reduce code size when too much code is inserted.
@@ -576,7 +573,7 @@ extern "C" SANITIZER_INTERFACE_ATTRIBUTE void __dfsan_maybe_store_origin(
576
573
577
574
extern " C" SANITIZER_INTERFACE_ATTRIBUTE void __dfsan_set_label (
578
575
dfsan_label label, dfsan_origin origin, void *addr, uptr size) {
579
- __dfsan:: SetShadow (label, addr, size, origin);
576
+ SetShadow (label, addr, size, origin);
580
577
}
581
578
582
579
SANITIZER_INTERFACE_ATTRIBUTE
@@ -587,7 +584,7 @@ void dfsan_set_label(dfsan_label label, void *addr, uptr size) {
587
584
GET_STORE_STACK_TRACE_PC_BP (pc, bp);
588
585
init_origin = ChainOrigin (0 , &stack, true );
589
586
}
590
- __dfsan:: SetShadow (label, addr, size, init_origin);
587
+ SetShadow (label, addr, size, init_origin);
591
588
}
592
589
593
590
SANITIZER_INTERFACE_ATTRIBUTE
@@ -665,9 +662,10 @@ dfsan_has_label(dfsan_label label, dfsan_label elem) {
665
662
}
666
663
667
664
namespace __dfsan {
668
-
669
665
typedef void (*dfsan_conditional_callback_t )(dfsan_label label,
670
666
dfsan_origin origin);
667
+
668
+ } // namespace __dfsan
671
669
static dfsan_conditional_callback_t conditional_callback = nullptr ;
672
670
static dfsan_label labels_in_signal_conditional = 0 ;
673
671
@@ -696,35 +694,34 @@ static void ConditionalCallback(dfsan_label label, dfsan_origin origin) {
696
694
conditional_callback (label, origin);
697
695
}
698
696
699
- } // namespace __dfsan
700
-
701
697
extern " C" SANITIZER_INTERFACE_ATTRIBUTE void
702
698
__dfsan_conditional_callback_origin (dfsan_label label, dfsan_origin origin) {
703
- __dfsan:: ConditionalCallback (label, origin);
699
+ ConditionalCallback (label, origin);
704
700
}
705
701
706
702
extern " C" SANITIZER_INTERFACE_ATTRIBUTE void __dfsan_conditional_callback (
707
703
dfsan_label label) {
708
- __dfsan:: ConditionalCallback (label, 0 );
704
+ ConditionalCallback (label, 0 );
709
705
}
710
706
711
707
extern " C" SANITIZER_INTERFACE_ATTRIBUTE void dfsan_set_conditional_callback (
712
708
__dfsan::dfsan_conditional_callback_t callback) {
713
- __dfsan:: conditional_callback = callback;
709
+ conditional_callback = callback;
714
710
}
715
711
716
712
extern " C" SANITIZER_INTERFACE_ATTRIBUTE dfsan_label
717
713
dfsan_get_labels_in_signal_conditional () {
718
- return __dfsan:: labels_in_signal_conditional;
714
+ return labels_in_signal_conditional;
719
715
}
720
716
721
717
namespace __dfsan {
722
-
723
718
typedef void (*dfsan_reaches_function_callback_t )(dfsan_label label,
724
719
dfsan_origin origin,
725
720
const char *file,
726
721
unsigned int line,
727
722
const char *function);
723
+
724
+ } // namespace __dfsan
728
725
static dfsan_reaches_function_callback_t reaches_function_callback = nullptr ;
729
726
static dfsan_label labels_in_signal_reaches_function = 0 ;
730
727
@@ -753,30 +750,28 @@ static void ReachesFunctionCallback(dfsan_label label, dfsan_origin origin,
753
750
reaches_function_callback (label, origin, file, line, function);
754
751
}
755
752
756
- } // namespace __dfsan
757
-
758
753
extern " C" SANITIZER_INTERFACE_ATTRIBUTE void
759
754
__dfsan_reaches_function_callback_origin (dfsan_label label, dfsan_origin origin,
760
755
const char *file, unsigned int line,
761
756
const char *function) {
762
- __dfsan:: ReachesFunctionCallback (label, origin, file, line, function);
757
+ ReachesFunctionCallback (label, origin, file, line, function);
763
758
}
764
759
765
760
extern " C" SANITIZER_INTERFACE_ATTRIBUTE void
766
761
__dfsan_reaches_function_callback (dfsan_label label, const char *file,
767
762
unsigned int line, const char *function) {
768
- __dfsan:: ReachesFunctionCallback (label, 0 , file, line, function);
763
+ ReachesFunctionCallback (label, 0 , file, line, function);
769
764
}
770
765
771
766
extern " C" SANITIZER_INTERFACE_ATTRIBUTE void
772
767
dfsan_set_reaches_function_callback (
773
768
__dfsan::dfsan_reaches_function_callback_t callback) {
774
- __dfsan:: reaches_function_callback = callback;
769
+ reaches_function_callback = callback;
775
770
}
776
771
777
772
extern " C" SANITIZER_INTERFACE_ATTRIBUTE dfsan_label
778
773
dfsan_get_labels_in_signal_reaches_function () {
779
- return __dfsan:: labels_in_signal_reaches_function;
774
+ return labels_in_signal_reaches_function;
780
775
}
781
776
782
777
namespace {
@@ -1089,8 +1084,8 @@ extern "C" void dfsan_flush() {
1089
1084
Die ();
1090
1085
}
1091
1086
}
1092
- __dfsan:: labels_in_signal_conditional = 0 ;
1093
- __dfsan:: labels_in_signal_reaches_function = 0 ;
1087
+ labels_in_signal_conditional = 0 ;
1088
+ labels_in_signal_reaches_function = 0 ;
1094
1089
}
1095
1090
1096
1091
// TODO: CheckMemoryLayoutSanity is based on msan.
0 commit comments