MCPcopy Create free account
hub / github.com/F-Stack/f-stack / isAlreadyReported

Function isAlreadyReported

freebsd/kern/kern_ubsan.c:1267–1287  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 15

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

Calls

no outgoing calls

Tested by

no test coverage detected