MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / isAlreadyReported

Function isAlreadyReported

Library/OcGuardLib/Ubsan.c:1265–1285  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1263}
1264
1265static bool
1266isAlreadyReported(struct CSourceLocation *pLocation)
1267{
1268 /*
1269 * This code is shared between libc, kernel and standalone usage.
1270 * It shall work in early bootstrap phase of both of them.
1271 */
1272
1273 uint32_t siOldValue;
1274 volatile uint32_t *pLine;
1275
1276 ASSERT(pLocation);
1277
1278 pLine = &pLocation->mLine;
1279
1280 do {
1281 siOldValue = *pLine;
1282 } while (__sync_val_compare_and_swap(pLine, siOldValue, siOldValue | ACK_REPORTED) != siOldValue);
1283
1284 return ISSET(siOldValue, ACK_REPORTED);
1285}
1286
1287static size_t
1288zDeserializeTypeWidth(struct CTypeDescriptor *pType)

Callers 15

HandleOverflowFunction · 0.85
HandleNegateOverflowFunction · 0.85
HandleBuiltinUnreachableFunction · 0.85
HandleTypeMismatchFunction · 0.85
HandleOutOfBoundsFunction · 0.85
HandleShiftOutOfBoundsFunction · 0.85
HandleImplicitConversionFunction · 0.85
HandleLoadInvalidValueFunction · 0.85
HandleInvalidBuiltinFunction · 0.85
HandleCFIBadTypeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected