Changeset bf05c74 in mainline for kernel/generic/src/lib/ubsan.c
- Timestamp:
- 2018-10-24T17:59:50Z (5 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5c38838, 889cdb1
- Parents:
- cfdeedc
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/lib/ubsan.c
rcfdeedc rbf05c74 34 34 }; 35 35 36 struct type_mismatch_data_v1 { 37 struct source_location loc; 38 struct type_descriptor *type; 39 unsigned char log_alignment; 40 unsigned char type_check_kind; 41 }; 42 36 43 struct overflow_data { 37 44 struct source_location loc; … … 72 79 struct source_location loc; 73 80 struct source_location attr_loc; 81 }; 82 83 struct pointer_overflow_data { 84 struct source_location loc; 74 85 }; 75 86 … … 80 91 */ 81 92 void __ubsan_handle_type_mismatch(struct type_mismatch_data *data, unsigned long ptr); 93 void __ubsan_handle_type_mismatch_v1(struct type_mismatch_data_v1 *data, unsigned long ptr); 82 94 void __ubsan_handle_add_overflow(struct overflow_data *data, unsigned long lhs, unsigned long rhs); 83 95 void __ubsan_handle_sub_overflow(struct overflow_data *data, unsigned long lhs, unsigned long rhs); … … 97 109 #endif 98 110 void __ubsan_handle_nonnull_return(struct nonnull_return_data *data); 111 void __ubsan_handle_nonnull_return_v1(struct nonnull_return_data *data, 112 struct source_location *loc); 113 void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data, 114 unsigned long base, unsigned long result); 99 115 100 116 static void print_loc(const char *func, struct source_location *loc) … … 218 234 ubsan_panic(); 219 235 } 236 237 void __ubsan_handle_nonnull_return_v1(struct nonnull_return_data *data, 238 struct source_location *loc) 239 { 240 print_loc(__func__, &data->loc); 241 ubsan_panic(); 242 } 243 244 void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data, 245 unsigned long base, unsigned long result) 246 { 247 print_loc(__func__, &data->loc); 248 ubsan_panic(); 249 } 250 251 void __ubsan_handle_type_mismatch_v1(struct type_mismatch_data_v1 *data, 252 unsigned long ptr) 253 { 254 print_loc(__func__, &data->loc); 255 ubsan_panic(); 256 }
Note:
See TracChangeset
for help on using the changeset viewer.