btf_record_has_field
if ((flags & BPF_F_LOCK) && !btf_record_has_field(map->record, BPF_SPIN_LOCK))
if (!btf_record_has_field(rec, BPF_UPTR))
return btf_record_has_field(map->record, BPF_TIMER | BPF_WORKQUEUE | BPF_TASK_WORK);
!btf_record_has_field(map->record, BPF_SPIN_LOCK)))
!btf_record_has_field(smap->map.record, BPF_SPIN_LOCK)))
if ((map_flags & BPF_F_LOCK) && btf_record_has_field(map->record, BPF_UPTR))
if ((btf_record_has_field(rec, BPF_LIST_HEAD) ||
btf_record_has_field(rec, BPF_RB_ROOT)) &&
btf_record_has_field(rec, BPF_LIST_NODE) &&
btf_record_has_field(rec, BPF_RB_NODE)) {
if (unlikely(!btf_record_has_field(map->record, BPF_SPIN_LOCK)))
if (btf_record_has_field(map->record, BPF_TIMER))
if (btf_record_has_field(map->record, BPF_WORKQUEUE))
if (btf_record_has_field(map->record, BPF_TASK_WORK))
!btf_record_has_field(map->record, BPF_SPIN_LOCK)))
if (!btf_record_has_field(rec, BPF_UPTR))
!btf_record_has_field(map->record, BPF_SPIN_LOCK)) {
if (!btf_record_has_field(rec, BPF_UPTR))
!btf_record_has_field(map->record, BPF_SPIN_LOCK)) {
if (WARN_ON_ONCE(!btf_record_has_field(rec, BPF_TIMER)))
if (WARN_ON_ONCE(!btf_record_has_field(rec, BPF_WORKQUEUE)))
if (WARN_ON_ONCE(!btf_record_has_field(rec, BPF_TASK_WORK)))
btf_record_has_field(meta.map.ptr->record, BPF_SPIN_LOCK | BPF_RES_SPIN_LOCK)) {
if (btf_record_has_field(map->record, BPF_LIST_HEAD) ||
btf_record_has_field(map->record, BPF_RB_ROOT)) {
if (btf_record_has_field(map->record, BPF_SPIN_LOCK | BPF_RES_SPIN_LOCK)) {
if (btf_record_has_field(map->inner_map_meta->record,
return btf_record_has_field(reg_btf_record(reg), BPF_SPIN_LOCK | BPF_RES_SPIN_LOCK);
if (rec && btf_record_has_field(rec, BPF_GRAPH_NODE))
if (!btf_record_has_field(rec, is_res_lock ? BPF_RES_SPIN_LOCK : BPF_SPIN_LOCK)) {
if (!btf_record_has_field(map->record, field_type)) {
if (!btf_record_has_field(rec, BPF_KPTR)) {
if (btf_record_has_field(smap->map.record, BPF_SPIN_LOCK))
if (btf_record_has_field(smap->map.record, BPF_SPIN_LOCK))