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)
505 // Don't write the label if it is already the value we need it to be.
511 // write when both |label| and |*labelp| are zero dramatically reduces
546 static void SetShadow(dfsan_label label, void *addr, uptr size,
548 if (0 != label) {
550 internal_memset((void *)beg_shadow_addr, label, size);
562 // If the label s is tainted, set the size bytes from the address p to be a new
575 dfsan_label label, dfsan_origin origin, void *addr, uptr size) {
576 SetShadow(label, addr, size, origin);
580 void dfsan_set_label(dfsan_label label, void *addr, uptr size) {
582 if (label && dfsan_get_track_origins()) {
587 SetShadow(label, addr, size, init_origin);
591 void dfsan_add_label(dfsan_label label, void *addr, uptr size) {
592 if (0 == label)
603 *labelp |= label;
607 // depends on the label of one of its arguments. Hence it is implemented as a
652 SANITIZER_INTERFACE_ATTRIBUTE void dfsan_set_label_origin(dfsan_label label,
656 __dfsan_set_label(label, origin, addr, size);
660 dfsan_has_label(dfsan_label label, dfsan_label elem) {
661 return (label & elem) == elem;
665 typedef void (*dfsan_conditional_callback_t)(dfsan_label label,
672 static void ConditionalCallback(dfsan_label label, dfsan_origin origin) {
675 if (label == 0) {
690 labels_in_signal_conditional |= label;
694 conditional_callback(label, origin);
698 __dfsan_conditional_callback_origin(dfsan_label label, dfsan_origin origin) {
699 ConditionalCallback(label, origin);
703 dfsan_label label) {
704 ConditionalCallback(label, 0);
718 typedef void (*dfsan_reaches_function_callback_t)(dfsan_label label,
728 static void ReachesFunctionCallback(dfsan_label label, dfsan_origin origin,
731 if (label == 0) {
746 labels_in_signal_reaches_function |= label;
750 reaches_function_callback(label, origin, file, line, function);
754 __dfsan_reaches_function_callback_origin(dfsan_label label, dfsan_origin origin,
757 ReachesFunctionCallback(label, origin, file, line, function);
761 __dfsan_reaches_function_callback(dfsan_label label, const char *file,
763 ReachesFunctionCallback(label, 0, file, line, function);
799 static void PrintInvalidOriginWarning(dfsan_label label, const void *address) {
804 d.Warning(), label, address, d.Default());
845 const dfsan_label label = *__dfsan::shadow_for(addr);
846 CHECK(label);
851 d.Origin(), label, addr, description ? description : "",
865 const dfsan_label label = *__dfsan::shadow_for(addr);
866 if (!label) {
878 PrintInvalidOriginWarning(label, addr);
891 const dfsan_label label = *__dfsan::shadow_for(addr);
892 if (!label) {
901 PrintInvalidOriginWarning(label, addr);
962 const dfsan_label label = *__dfsan::shadow_for(addr);
963 if (!label)
1054 void dfsan_set_arg_tls(uptr offset, dfsan_label label) {
1059 ((dfsan_label *)__dfsan_arg_tls)[offset * 2] = label;