Lines Matching defs:label
102 dfsan_label label = ls[0];
104 label |= ls[i];
105 return label;
112 dfsan_label label = 0;
120 label |= l;
124 return ret | (u64)label << 32;
147 // label-free program.
150 Report("WARNING: DataFlowSanitizer: saw nonzero label\n");
219 // taint labels, it does not matter what origin a zero label has. This reduces
398 // trace if the label is tainted.
400 __dfsan_chain_origin_if_tainted(dfsan_label label, dfsan_origin id) {
401 if (!label)
507 // Don't write the label if it is already the value we need it to be.
513 // write when both |label| and |*labelp| are zero dramatically reduces
548 void SetShadow(dfsan_label label, void *addr, uptr size, dfsan_origin origin) {
549 if (0 != label) {
551 internal_memset((void *)beg_shadow_addr, label, size);
565 // If the label s is tainted, set the size bytes from the address p to be a new
578 dfsan_label label, dfsan_origin origin, void *addr, uptr size) {
579 __dfsan::SetShadow(label, addr, size, origin);
583 void dfsan_set_label(dfsan_label label, void *addr, uptr size) {
585 if (label && dfsan_get_track_origins()) {
590 __dfsan::SetShadow(label, addr, size, init_origin);
594 void dfsan_add_label(dfsan_label label, void *addr, uptr size) {
595 if (0 == label)
606 *labelp |= label;
610 // depends on the label of one of its arguments. Hence it is implemented as a
655 SANITIZER_INTERFACE_ATTRIBUTE void dfsan_set_label_origin(dfsan_label label,
659 __dfsan_set_label(label, origin, addr, size);
663 dfsan_has_label(dfsan_label label, dfsan_label elem) {
664 return (label & elem) == elem;
669 typedef void (*dfsan_conditional_callback_t)(dfsan_label label,
674 static void ConditionalCallback(dfsan_label label, dfsan_origin origin) {
677 if (label == 0) {
692 labels_in_signal_conditional |= label;
696 conditional_callback(label, origin);
702 __dfsan_conditional_callback_origin(dfsan_label label, dfsan_origin origin) {
703 __dfsan::ConditionalCallback(label, origin);
707 dfsan_label label) {
708 __dfsan::ConditionalCallback(label, 0);
723 typedef void (*dfsan_reaches_function_callback_t)(dfsan_label label,
731 static void ReachesFunctionCallback(dfsan_label label, dfsan_origin origin,
734 if (label == 0) {
749 labels_in_signal_reaches_function |= label;
753 reaches_function_callback(label, origin, file, line, function);
759 __dfsan_reaches_function_callback_origin(dfsan_label label, dfsan_origin origin,
762 __dfsan::ReachesFunctionCallback(label, origin, file, line, function);
766 __dfsan_reaches_function_callback(dfsan_label label, const char *file,
768 __dfsan::ReachesFunctionCallback(label, 0, file, line, function);
804 void PrintInvalidOriginWarning(dfsan_label label, const void *address) {
809 d.Warning(), label, address, d.Default());
850 const dfsan_label label = *__dfsan::shadow_for(addr);
851 CHECK(label);
856 d.Origin(), label, addr, description ? description : "",
872 const dfsan_label label = *__dfsan::shadow_for(addr);
873 if (!label) {
885 PrintInvalidOriginWarning(label, addr);
898 const dfsan_label label = *__dfsan::shadow_for(addr);
899 if (!label) {
908 PrintInvalidOriginWarning(label, addr);
969 const dfsan_label label = *__dfsan::shadow_for(addr);
970 if (!label)
1061 void dfsan_set_arg_tls(uptr offset, dfsan_label label) {
1066 ((dfsan_label *)__dfsan_arg_tls)[offset * 2] = label;