$ nm -n /boot/kernel/kernel | grep -A3 prop_bool_false ffffffff8179b2f0 b _prop_bool_init_once ffffffff8179b300 b _prop_bool_false <- fake mtx base = false.pb_obj ffffffff8179b320 b _prop_bool_true ffffffff8179b338 B _prop_data_pool ffffffff8179b340 B _prop_dictionary_pool struct _prop_bool { struct _prop_object pb_obj; bool pb_value; } (24 bytes) struct _prop_array { struct _prop_object pa_obj; struct mtx pa_rwlock; ... } -> pa_rwlock @ +16 overlays pb_value(+16) and the words at +20..+56: +16 mtx_lock = pb_value (0 for false, 1 for true) +24 mtx_owner = tail padding of _prop_bool_false +32 mtx_exlink = _prop_bool_true.po_type region (or beyond) +48 mtx_ident = _prop_bool_true tail / _prop_data_pool region struct mtx (sys/sys/mutex.h:66): mtx_lock u_int; mtx_flags; mtx_owner; mtx_exlink; mtx_shlink; mtx_ident (~40 bytes)