BPF_F_LINK
#define BPF_F_LINK BPF_F_LINK /* 1 << 13 */
(attr->map_flags & ~(BPF_F_LINK | BPF_F_VTYPE_BTF_OBJ_FD)) ||
map->map_flags & BPF_F_LINK &&
if (st_map->map.map_flags & BPF_F_LINK) {
if (st_map->map.map_flags & BPF_F_LINK)
BPF_F_LINK)
bool is_link = flags & BPF_F_LINK, is_id = flags & BPF_F_ID;
bool link = flags & BPF_F_LINK;
BPF_F_LINK)
if (!(bpf_map__map_flags(map) & BPF_F_LINK)) {
#define BPF_F_LINK BPF_F_LINK /* 1 << 13 */
if (err && (!(map->def.map_flags & BPF_F_LINK) || err != -EBUSY)) {
if (!(map->def.map_flags & BPF_F_LINK)) {
map->def.map_flags = strcmp(sec_name, STRUCT_OPS_LINK_SEC) == 0 ? BPF_F_LINK : 0;
.flags = BPF_F_BEFORE | BPF_F_LINK,
.flags = BPF_F_AFTER | BPF_F_LINK,
.flags = BPF_F_AFTER | BPF_F_PREORDER | BPF_F_LINK,
.flags = BPF_F_ALLOW_MULTI | BPF_F_LINK,
.flags = BPF_F_BEFORE | BPF_F_LINK,
.flags = BPF_F_AFTER | BPF_F_LINK,
.flags = BPF_F_AFTER | BPF_F_LINK,
.flags = BPF_F_BEFORE | BPF_F_LINK | BPF_F_ID,
.flags = BPF_F_BEFORE | BPF_F_LINK | BPF_F_ID,
.flags = BPF_F_BEFORE | BPF_F_LINK | BPF_F_ID,
.flags = BPF_F_BEFORE | BPF_F_LINK,
.flags = BPF_F_AFTER | BPF_F_LINK,
.flags = BPF_F_REPLACE | BPF_F_LINK,
.flags = BPF_F_REPLACE | BPF_F_LINK | BPF_F_AFTER,
.flags = BPF_F_LINK,
.flags = BPF_F_LINK,