coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
Go to the source code of this file.
Data Structures | |
struct | ubsan_source_location |
struct | ubsan_type_descriptor |
struct | ubsan_type_mismatch_data |
struct | ubsan_overflow_data |
struct | ubsan_pointer_overflow_data |
struct | ubsan_shift_out_of_bounds_data |
struct | ubsan_out_of_bounds_data |
struct | ubsan_unreachable_data |
struct | ubsan_vla_bound_data |
struct | ubsan_float_cast_overflow_data |
struct | ubsan_invalid_value_data |
struct | ubsan_function_type_mismatch_data |
struct | ubsan_nonnull_return_data |
struct | ubsan_nonnull_arg_data |
struct | ubsan_cfi_bad_icall_data |
Macros | |
#define | ABORT_VARIANT(name, params, call) |
#define | ABORT_VARIANT_VP(name) ABORT_VARIANT(name, (void *a), (a)) |
#define | ABORT_VARIANT_VP_VP(name) ABORT_VARIANT(name, (void *a, void *b), (a, b)) |
#define | ABORT_VARIANT_VP_IP(name) ABORT_VARIANT(name, (void *a, intptr_t b), (a, b)) |
#define | ABORT_VARIANT_VP_VP_VP(name) ABORT_VARIANT(name, (void *a, void *b, void *c), (a, b, c)) |
Typedefs | |
typedef uintptr_t | ubsan_value_handle_t |
#define ABORT_VARIANT_VP | ( | name | ) | ABORT_VARIANT(name, (void *a), (a)) |
#define ABORT_VARIANT_VP_IP | ( | name | ) | ABORT_VARIANT(name, (void *a, intptr_t b), (a, b)) |
#define ABORT_VARIANT_VP_VP | ( | name | ) | ABORT_VARIANT(name, (void *a, void *b), (a, b)) |
typedef uintptr_t ubsan_value_handle_t |
Definition at line 91 of file ubsan.c.
References ubsan_overflow_data::location, ubsan_abort(), and void().
void __noreturn __ubsan_handle_builtin_unreachable | ( | void * | data_raw | ) |
Definition at line 217 of file ubsan.c.
References ubsan_unreachable_data::location, and ubsan_abort().
Definition at line 335 of file ubsan.c.
References ubsan_cfi_bad_icall_data::location, ubsan_abort(), value, and void().
Definition at line 145 of file ubsan.c.
References ubsan_overflow_data::location, ubsan_abort(), and void().
Definition at line 253 of file ubsan.c.
References ubsan_float_cast_overflow_data::location, ubsan_abort(), and void().
Definition at line 285 of file ubsan.c.
References ubsan_function_type_mismatch_data::location, ubsan_abort(), value, and void().
Definition at line 269 of file ubsan.c.
References ubsan_invalid_value_data::location, ubsan_abort(), value, and void().
void __noreturn __ubsan_handle_missing_return | ( | void * | data_raw | ) |
Definition at line 224 of file ubsan.c.
References ubsan_unreachable_data::location, and ubsan_abort().
Definition at line 119 of file ubsan.c.
References ubsan_overflow_data::location, ubsan_abort(), and void().
Definition at line 133 of file ubsan.c.
References ubsan_overflow_data::location, ubsan_abort(), and void().
Definition at line 319 of file ubsan.c.
References ubsan_nonnull_arg_data::location, ubsan_abort(), and void().
Definition at line 301 of file ubsan.c.
References ubsan_nonnull_return_data::location, and ubsan_abort().
Definition at line 202 of file ubsan.c.
References ubsan_out_of_bounds_data::location, ubsan_abort(), and void().
Definition at line 163 of file ubsan.c.
References base, ubsan_pointer_overflow_data::location, ubsan_abort(), and void().
Definition at line 182 of file ubsan.c.
References ubsan_shift_out_of_bounds_data::location, ubsan_abort(), and void().
Definition at line 105 of file ubsan.c.
References ubsan_overflow_data::location, ubsan_abort(), and void().
Definition at line 71 of file ubsan.c.
References ubsan_type_mismatch_data::alignment, ubsan_type_mismatch_data::location, and ubsan_abort().
Definition at line 236 of file ubsan.c.
References ubsan_vla_bound_data::location, ubsan_abort(), and void().
ABORT_VARIANT_VP | ( | nonnull_return | ) |
ABORT_VARIANT_VP_IP | ( | nonnull_arg | ) |
ABORT_VARIANT_VP_VP | ( | cfi_bad_icall | ) |
ABORT_VARIANT_VP_VP | ( | float_cast_overflow | ) |
ABORT_VARIANT_VP_VP | ( | function_type_mismatch | ) |
ABORT_VARIANT_VP_VP | ( | load_invalid_value | ) |
ABORT_VARIANT_VP_VP | ( | negate_overflow | ) |
ABORT_VARIANT_VP_VP | ( | out_of_bounds | ) |
ABORT_VARIANT_VP_VP | ( | type_mismatch_v1 | ) |
ABORT_VARIANT_VP_VP | ( | vla_bound_not_positive | ) |
ABORT_VARIANT_VP_VP_VP | ( | add_overflow | ) |
ABORT_VARIANT_VP_VP_VP | ( | divrem_overflow | ) |
ABORT_VARIANT_VP_VP_VP | ( | mul_overflow | ) |
ABORT_VARIANT_VP_VP_VP | ( | pointer_overflow | ) |
ABORT_VARIANT_VP_VP_VP | ( | shift_out_of_bounds | ) |
ABORT_VARIANT_VP_VP_VP | ( | sub_overflow | ) |
|
static |
Definition at line 32 of file ubsan.c.
References BIOS_ERR, ubsan_source_location::column, die(), ubsan_source_location::filename, ubsan_source_location::line, and printk.
Referenced by __ubsan_handle_add_overflow(), __ubsan_handle_builtin_unreachable(), __ubsan_handle_cfi_bad_icall(), __ubsan_handle_divrem_overflow(), __ubsan_handle_float_cast_overflow(), __ubsan_handle_function_type_mismatch(), __ubsan_handle_load_invalid_value(), __ubsan_handle_missing_return(), __ubsan_handle_mul_overflow(), __ubsan_handle_negate_overflow(), __ubsan_handle_nonnull_arg(), __ubsan_handle_nonnull_return(), __ubsan_handle_out_of_bounds(), __ubsan_handle_pointer_overflow(), __ubsan_handle_shift_out_of_bounds(), __ubsan_handle_sub_overflow(), __ubsan_handle_type_mismatch_v1(), and __ubsan_handle_vla_bound_not_positive().