File tree Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -339,9 +339,10 @@ void __ubsan_handle_load_invalid_value(void *_data, void *val)
339
339
{
340
340
struct invalid_value_data * data = _data ;
341
341
char val_str [VALUE_LENGTH ];
342
+ unsigned long ua_flags = user_access_save ();
342
343
343
344
if (suppress_report (& data -> location ))
344
- return ;
345
+ goto out ;
345
346
346
347
ubsan_prologue (& data -> location , "invalid-load" );
347
348
@@ -351,6 +352,8 @@ void __ubsan_handle_load_invalid_value(void *_data, void *val)
351
352
val_str , data -> type -> type_name );
352
353
353
354
ubsan_epilogue ();
355
+ out :
356
+ user_access_restore (ua_flags );
354
357
}
355
358
EXPORT_SYMBOL (__ubsan_handle_load_invalid_value );
356
359
Original file line number Diff line number Diff line change @@ -1216,6 +1216,7 @@ static const char *uaccess_safe_builtin[] = {
1216
1216
"__ubsan_handle_type_mismatch" ,
1217
1217
"__ubsan_handle_type_mismatch_v1" ,
1218
1218
"__ubsan_handle_shift_out_of_bounds" ,
1219
+ "__ubsan_handle_load_invalid_value" ,
1219
1220
/* misc */
1220
1221
"csum_partial_copy_generic" ,
1221
1222
"copy_mc_fragile" ,
You can’t perform that action at this time.
0 commit comments