/linux-6.12.1/kernel/cgroup/ |
D | freezer.c | 14 static void cgroup_propagate_frozen(struct cgroup *cgrp, bool frozen) in cgroup_propagate_frozen() argument 24 while ((cgrp = cgroup_parent(cgrp))) { in cgroup_propagate_frozen() 26 cgrp->freezer.nr_frozen_descendants += desc; in cgroup_propagate_frozen() 27 if (!test_bit(CGRP_FROZEN, &cgrp->flags) && in cgroup_propagate_frozen() 28 test_bit(CGRP_FREEZE, &cgrp->flags) && in cgroup_propagate_frozen() 29 cgrp->freezer.nr_frozen_descendants == in cgroup_propagate_frozen() 30 cgrp->nr_descendants) { in cgroup_propagate_frozen() 31 set_bit(CGRP_FROZEN, &cgrp->flags); in cgroup_propagate_frozen() 32 cgroup_file_notify(&cgrp->events_file); in cgroup_propagate_frozen() 33 TRACE_CGROUP_PATH(notify_frozen, cgrp, 1); in cgroup_propagate_frozen() [all …]
|
D | rstat.c | 15 static void cgroup_base_stat_flush(struct cgroup *cgrp, int cpu); 17 static struct cgroup_rstat_cpu *cgroup_rstat_cpu(struct cgroup *cgrp, int cpu) in cgroup_rstat_cpu() argument 19 return per_cpu_ptr(cgrp->rstat_cpu, cpu); in cgroup_rstat_cpu() 32 struct cgroup *cgrp, const bool fast_path) in _cgroup_rstat_cpu_lock() argument 48 trace_cgroup_rstat_cpu_lock_contended_fastpath(cgrp, cpu, contended); in _cgroup_rstat_cpu_lock() 50 trace_cgroup_rstat_cpu_lock_contended(cgrp, cpu, contended); in _cgroup_rstat_cpu_lock() 56 trace_cgroup_rstat_cpu_locked_fastpath(cgrp, cpu, contended); in _cgroup_rstat_cpu_lock() 58 trace_cgroup_rstat_cpu_locked(cgrp, cpu, contended); in _cgroup_rstat_cpu_lock() 65 struct cgroup *cgrp, unsigned long flags, in _cgroup_rstat_cpu_unlock() argument 69 trace_cgroup_rstat_cpu_unlock_fastpath(cgrp, cpu, false); in _cgroup_rstat_cpu_unlock() [all …]
|
D | cgroup.c | 167 struct cgroup_root cgrp_dfl_root = { .cgrp.rstat_cpu = &cgrp_dfl_root_rstat_cpu }; 241 static int cgroup_apply_control(struct cgroup *cgrp); 242 static void cgroup_finalize_control(struct cgroup *cgrp, int ret); 245 static int cgroup_destroy_locked(struct cgroup *cgrp); 246 static struct cgroup_subsys_state *css_create(struct cgroup *cgrp, 251 struct cgroup *cgrp, struct cftype cfts[], 319 bool cgroup_on_dfl(const struct cgroup *cgrp) in cgroup_on_dfl() argument 321 return cgrp->root == &cgrp_dfl_root; in cgroup_on_dfl() 355 static bool cgroup_has_tasks(struct cgroup *cgrp) in cgroup_has_tasks() argument 357 return cgrp->nr_populated_csets; in cgroup_has_tasks() [all …]
|
D | cgroup-v1.c | 202 void cgroup1_pidlist_destroy_all(struct cgroup *cgrp) in cgroup1_pidlist_destroy_all() argument 206 mutex_lock(&cgrp->pidlist_mutex); in cgroup1_pidlist_destroy_all() 207 list_for_each_entry_safe(l, tmp_l, &cgrp->pidlists, links) in cgroup1_pidlist_destroy_all() 209 mutex_unlock(&cgrp->pidlist_mutex); in cgroup1_pidlist_destroy_all() 212 BUG_ON(!list_empty(&cgrp->pidlists)); in cgroup1_pidlist_destroy_all() 283 static struct cgroup_pidlist *cgroup_pidlist_find(struct cgroup *cgrp, in cgroup_pidlist_find() argument 290 lockdep_assert_held(&cgrp->pidlist_mutex); in cgroup_pidlist_find() 292 list_for_each_entry(l, &cgrp->pidlists, links) in cgroup_pidlist_find() 304 static struct cgroup_pidlist *cgroup_pidlist_find_create(struct cgroup *cgrp, in cgroup_pidlist_find_create() argument 309 lockdep_assert_held(&cgrp->pidlist_mutex); in cgroup_pidlist_find_create() [all …]
|
D | cgroup-internal.h | 27 #define TRACE_CGROUP_PATH(type, cgrp, ...) \ argument 33 cgroup_path(cgrp, trace_cgroup_path, \ 35 trace_cgroup_##type(cgrp, trace_cgroup_path, \ 98 struct cgroup *cgrp; member 186 static inline bool cgroup_is_dead(const struct cgroup *cgrp) in cgroup_is_dead() argument 188 return !(cgrp->self.flags & CSS_ONLINE); in cgroup_is_dead() 191 static inline bool notify_on_release(const struct cgroup *cgrp) in notify_on_release() argument 193 return test_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); in notify_on_release() 224 bool cgroup_on_dfl(const struct cgroup *cgrp); 231 int cgroup_path_ns_locked(struct cgroup *cgrp, char *buf, size_t buflen, [all …]
|
/linux-6.12.1/drivers/gpu/drm/nouveau/nvkm/engine/fifo/ |
D | cgrp.c | 32 nvkm_cgrp_ectx_put(struct nvkm_cgrp *cgrp, struct nvkm_ectx **pectx) in nvkm_cgrp_ectx_put() argument 40 CGRP_TRACE(cgrp, "dtor ectx %d[%s]", engn->id, engn->engine->subdev.name); in nvkm_cgrp_ectx_put() 51 nvkm_cgrp_ectx_get(struct nvkm_cgrp *cgrp, struct nvkm_engn *engn, struct nvkm_ectx **pectx, in nvkm_cgrp_ectx_get() argument 63 ectx = nvkm_list_find(ectx, &cgrp->ectxs, head, ectx->engn == engn); in nvkm_cgrp_ectx_get() 71 CGRP_TRACE(cgrp, "ctor ectx %d[%s]", engn->id, engn->engine->subdev.name); in nvkm_cgrp_ectx_get() 78 list_add_tail(&ectx->head, &cgrp->ectxs); in nvkm_cgrp_ectx_get() 87 nvkm_cgrp_ectx_put(cgrp, pectx); in nvkm_cgrp_ectx_get() 93 nvkm_cgrp_vctx_put(struct nvkm_cgrp *cgrp, struct nvkm_vctx **pvctx) in nvkm_cgrp_vctx_put() argument 101 CGRP_TRACE(cgrp, "dtor vctx %d[%s]", engn->id, engn->engine->subdev.name); in nvkm_cgrp_vctx_put() 105 nvkm_cgrp_ectx_put(cgrp, &vctx->ectx); in nvkm_cgrp_vctx_put() [all …]
|
D | chan.c | 43 struct nvkm_cgrp *cgrp = chan->cgrp; in nvkm_chan_cctx_bind() local 44 struct nvkm_runl *runl = cgrp->runl; in nvkm_chan_cctx_bind() 55 if (cgrp->hw) in nvkm_chan_cctx_bind() 65 if (cgrp->hw) in nvkm_chan_cctx_bind() 79 if (refcount_dec_and_mutex_lock(&cctx->refs, &chan->cgrp->mutex)) { in nvkm_chan_cctx_put() 81 nvkm_cgrp_vctx_put(chan->cgrp, &cctx->vctx); in nvkm_chan_cctx_put() 84 mutex_unlock(&chan->cgrp->mutex); in nvkm_chan_cctx_put() 95 struct nvkm_cgrp *cgrp = chan->cgrp; in nvkm_chan_cctx_get() local 101 mutex_lock(&cgrp->mutex); in nvkm_chan_cctx_get() 107 mutex_unlock(&chan->cgrp->mutex); in nvkm_chan_cctx_get() [all …]
|
D | runl.c | 36 struct nvkm_cgrp *cgrp = NULL; in nvkm_engn_cgrp_get() local 48 cgrp = chan->cgrp; in nvkm_engn_cgrp_get() 50 cgrp = nvkm_runl_cgrp_get_cgid(engn->runl, id, pirqflags); in nvkm_engn_cgrp_get() 53 WARN_ON(!cgrp); in nvkm_engn_cgrp_get() 54 return cgrp; in nvkm_engn_cgrp_get() 61 struct nvkm_cgrp *cgrp, *gtmp; in nvkm_runl_rc() local 75 nvkm_runl_foreach_cgrp_safe(cgrp, gtmp, runl) { in nvkm_runl_rc() 76 state = atomic_cmpxchg(&cgrp->rc, NVKM_CGRP_RC_PENDING, NVKM_CGRP_RC_RUNNING); in nvkm_runl_rc() 79 nvkm_cgrp_foreach_chan_safe(chan, ctmp, cgrp) { in nvkm_runl_rc() 102 cgrp = nvkm_engn_cgrp_get(engn, &flags); in nvkm_runl_rc() [all …]
|
D | gk110.c | 38 struct nvkm_cgrp *cgrp = chan->cgrp; in gk110_chan_preempt() local 40 if (cgrp->hw) { in gk110_chan_preempt() 41 cgrp->func->preempt(cgrp); in gk110_chan_preempt() 61 gk110_cgrp_preempt(struct nvkm_cgrp *cgrp) in gk110_cgrp_preempt() argument 63 nvkm_wr32(cgrp->runl->fifo->engine.subdev.device, 0x002634, 0x01000000 | cgrp->id); in gk110_cgrp_preempt() 72 gk110_runl_insert_cgrp(struct nvkm_cgrp *cgrp, struct nvkm_memory *memory, u64 offset) in gk110_runl_insert_cgrp() argument 74 nvkm_wo32(memory, offset + 0, (cgrp->chan_nr << 26) | (128 << 18) | in gk110_runl_insert_cgrp() 75 (3 << 14) | 0x00002000 | cgrp->id); in gk110_runl_insert_cgrp() 123 .cgrp = {{ 0, 0, KEPLER_CHANNEL_GROUP_A }, &gk110_cgrp },
|
D | ucgrp.c | 33 struct nvkm_cgrp *cgrp; member 40 struct nvkm_cgrp *cgrp = nvkm_ucgrp(oclass->parent)->cgrp; in nvkm_ucgrp_chan_new() local 42 return nvkm_uchan_new(cgrp->runl->fifo, cgrp, oclass, argv, argc, pobject); in nvkm_ucgrp_chan_new() 48 struct nvkm_cgrp *cgrp = nvkm_ucgrp(object)->cgrp; in nvkm_ucgrp_sclass() local 49 struct nvkm_fifo *fifo = cgrp->runl->fifo; in nvkm_ucgrp_sclass() 70 nvkm_cgrp_unref(&ucgrp->cgrp); in nvkm_ucgrp_dtor() 115 ret = nvkm_cgrp_new(runl, args->v0.name, vmm, true, &ucgrp->cgrp); in nvkm_ucgrp_new() 120 args->v0.cgid = ucgrp->cgrp->id; in nvkm_ucgrp_new()
|
/linux-6.12.1/include/trace/events/ |
D | cgroup.h | 56 TP_PROTO(struct cgroup *cgrp, const char *path), 58 TP_ARGS(cgrp, path), 68 __entry->root = cgrp->root->hierarchy_id; 69 __entry->id = cgroup_id(cgrp); 70 __entry->level = cgrp->level; 80 TP_PROTO(struct cgroup *cgrp, const char *path), 82 TP_ARGS(cgrp, path) 87 TP_PROTO(struct cgroup *cgrp, const char *path), 89 TP_ARGS(cgrp, path) 94 TP_PROTO(struct cgroup *cgrp, const char *path), [all …]
|
/linux-6.12.1/tools/testing/selftests/bpf/progs/ |
D | cgrp_kfunc_failure.c | 20 static struct __cgrps_kfunc_map_value *insert_lookup_cgrp(struct cgroup *cgrp) in insert_lookup_cgrp() argument 24 status = cgrps_kfunc_map_insert(cgrp); in insert_lookup_cgrp() 28 return cgrps_kfunc_map_value_lookup(cgrp); in insert_lookup_cgrp() 33 int BPF_PROG(cgrp_kfunc_acquire_untrusted, struct cgroup *cgrp, const char *path) in BPF_PROG() argument 38 v = insert_lookup_cgrp(cgrp); in BPF_PROG() 43 acquired = bpf_cgroup_acquire(v->cgrp); in BPF_PROG() 52 int BPF_PROG(cgrp_kfunc_acquire_no_null_check, struct cgroup *cgrp, const char *path) in BPF_PROG() argument 56 acquired = bpf_cgroup_acquire(cgrp); in BPF_PROG() 68 int BPF_PROG(cgrp_kfunc_acquire_fp, struct cgroup *cgrp, const char *path) in BPF_PROG() argument 82 int BPF_PROG(cgrp_kfunc_acquire_unsafe_kretprobe, struct cgroup *cgrp) in BPF_PROG() argument [all …]
|
D | cgrp_ls_sleepable.c | 24 void bpf_cgroup_release(struct cgroup *cgrp) __ksym; 31 struct cgroup *cgrp = ctx->cgroup; in cgroup_iter() local 34 if (cgrp == NULL) in cgroup_iter() 37 ptr = bpf_cgrp_storage_get(&map_a, cgrp, 0, in cgroup_iter() 40 cgroup_id = cgrp->kn->id; in cgroup_iter() 44 static void __no_rcu_lock(struct cgroup *cgrp) in __no_rcu_lock() argument 51 ptr = bpf_cgrp_storage_get(&map_a, cgrp, 0, in __no_rcu_lock() 54 cgroup_id = cgrp->kn->id; in __no_rcu_lock() 61 struct cgroup *cgrp; in cgrp1_no_rcu_lock() local 68 cgrp = bpf_task_get_cgroup1(task, target_hid); in cgrp1_no_rcu_lock() [all …]
|
D | cgrp_kfunc_success.c | 33 int BPF_PROG(test_cgrp_acquire_release_argument, struct cgroup *cgrp, const char *path) in BPF_PROG() argument 40 acquired = bpf_cgroup_acquire(cgrp); in BPF_PROG() 50 int BPF_PROG(test_cgrp_acquire_leave_in_map, struct cgroup *cgrp, const char *path) in BPF_PROG() argument 57 status = cgrps_kfunc_map_insert(cgrp); in BPF_PROG() 65 int BPF_PROG(test_cgrp_xchg_release, struct cgroup *cgrp, const char *path) in BPF_PROG() argument 74 status = cgrps_kfunc_map_insert(cgrp); in BPF_PROG() 80 v = cgrps_kfunc_map_value_lookup(cgrp); in BPF_PROG() 86 kptr = v->cgrp; in BPF_PROG() 96 kptr = bpf_kptr_xchg(&v->cgrp, NULL); in BPF_PROG() 108 int BPF_PROG(test_cgrp_get_release, struct cgroup *cgrp, const char *path) in BPF_PROG() argument [all …]
|
D | cgrp_ls_recursion.c | 28 void bpf_cgroup_release(struct cgroup *cgrp) __ksym; 30 static void __on_update(struct cgroup *cgrp) in __on_update() argument 34 ptr = bpf_cgrp_storage_get(&map_a, cgrp, 0, BPF_LOCAL_STORAGE_GET_F_CREATE); in __on_update() 38 ptr = bpf_cgrp_storage_get(&map_b, cgrp, 0, BPF_LOCAL_STORAGE_GET_F_CREATE); in __on_update() 47 struct cgroup *cgrp; in BPF_PROG() local 50 cgrp = bpf_task_get_cgroup1(task, target_hid); in BPF_PROG() 51 if (!cgrp) in BPF_PROG() 54 __on_update(cgrp); in BPF_PROG() 55 bpf_cgroup_release(cgrp); in BPF_PROG() 63 static void __on_enter(struct pt_regs *regs, long id, struct cgroup *cgrp) in __on_enter() argument [all …]
|
D | cgrp_ls_tp_btf.c | 34 void bpf_cgroup_release(struct cgroup *cgrp) __ksym; 36 static void __on_enter(struct pt_regs *regs, long id, struct cgroup *cgrp) in __on_enter() argument 42 ptr = bpf_cgrp_storage_get(&map_a, cgrp, 0, in __on_enter() 48 err = bpf_cgrp_storage_delete(&map_a, cgrp); in __on_enter() 53 ptr = bpf_cgrp_storage_get(&map_a, cgrp, 0, 0); in __on_enter() 58 ptr = bpf_cgrp_storage_get(&map_a, cgrp, 0, in __on_enter() 70 struct cgroup *cgrp; in BPF_PROG() local 77 cgrp = bpf_task_get_cgroup1(task, target_hid); in BPF_PROG() 78 if (!cgrp) in BPF_PROG() 81 __on_enter(regs, id, cgrp); in BPF_PROG() [all …]
|
D | iters_css_task.c | 28 struct cgroup *cgrp; in BPF_PROG() local 33 cgrp = bpf_cgroup_from_id(cg_id); in BPF_PROG() 35 if (!cgrp) in BPF_PROG() 38 css = &cgrp->self; in BPF_PROG() 45 bpf_cgroup_release(cgrp); in BPF_PROG() 50 static inline u64 cgroup_id(struct cgroup *cgrp) in cgroup_id() argument 52 return cgrp->kn->id; in cgroup_id() 59 struct cgroup *cgrp = ctx->cgroup; in cgroup_id_printer() local 64 if (cgrp == NULL) { in cgroup_id_printer() 73 BPF_SEQ_PRINTF(seq, "%8llu\n", cgroup_id(cgrp)); in cgroup_id_printer() [all …]
|
D | test_task_under_cgroup.c | 23 struct cgroup *cgrp = NULL; in BPF_PROG() local 36 cgrp = bpf_cgroup_from_id(cgid); in BPF_PROG() 37 if (!cgrp) in BPF_PROG() 40 if (bpf_task_under_cgroup(acquired, cgrp)) in BPF_PROG() 44 if (cgrp) in BPF_PROG() 45 bpf_cgroup_release(cgrp); in BPF_PROG() 54 struct cgroup *cgrp = NULL; in BPF_PROG() local 66 cgrp = bpf_cgroup_from_id(1); in BPF_PROG() 67 if (!cgrp) in BPF_PROG() 69 if (!bpf_task_under_cgroup(task, cgrp)) in BPF_PROG() [all …]
|
D | iters_task_failure.c | 34 struct cgroup *cgrp = bpf_cgroup_from_id(cg_id); in BPF_PROG() local 37 if (!cgrp) in BPF_PROG() 39 root_css = &cgrp->self; in BPF_PROG() 44 bpf_cgroup_release(cgrp); in BPF_PROG() 69 struct cgroup *cgrp = bpf_cgroup_from_id(cg_id); in BPF_PROG() local 72 if (!cgrp) in BPF_PROG() 74 root_css = &cgrp->self; in BPF_PROG() 83 bpf_cgroup_release(cgrp); in BPF_PROG() 92 struct cgroup *cgrp = bpf_cgroup_from_id(cg_id); in BPF_PROG() local 96 if (cgrp == NULL) in BPF_PROG() [all …]
|
D | cgrp_kfunc_common.h | 13 struct cgroup __kptr * cgrp; member 25 struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __ksym; 30 static inline struct __cgrps_kfunc_map_value *cgrps_kfunc_map_value_lookup(struct cgroup *cgrp) in cgrps_kfunc_map_value_lookup() argument 35 status = bpf_probe_read_kernel(&id, sizeof(id), &cgrp->self.id); in cgrps_kfunc_map_value_lookup() 42 static inline int cgrps_kfunc_map_insert(struct cgroup *cgrp) in cgrps_kfunc_map_insert() argument 49 status = bpf_probe_read_kernel(&id, sizeof(id), &cgrp->self.id); in cgrps_kfunc_map_insert() 53 local.cgrp = NULL; in cgrps_kfunc_map_insert() 64 acquired = bpf_cgroup_acquire(cgrp); in cgrps_kfunc_map_insert() 70 old = bpf_kptr_xchg(&v->cgrp, acquired); in cgrps_kfunc_map_insert()
|
D | test_cgroup1_hierarchy.c | 14 struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __ksym; 15 void bpf_cgroup_release(struct cgroup *cgrp) __ksym; 19 struct cgroup *cgrp, *ancestor; in bpf_link_create_verify() local 32 cgrp = bpf_task_get_cgroup1(task, target_hid); in bpf_link_create_verify() 33 if (!cgrp) in bpf_link_create_verify() 37 if (cgrp->kn->id == target_ancestor_cgid) in bpf_link_create_verify() 40 ancestor = bpf_cgroup_ancestor(cgrp, target_ancestor_level); in bpf_link_create_verify() 49 bpf_cgroup_release(cgrp); in bpf_link_create_verify()
|
/linux-6.12.1/tools/sched_ext/ |
D | scx_flatcg.bpf.c | 168 static struct fcg_cgrp_ctx *find_cgrp_ctx(struct cgroup *cgrp) in find_cgrp_ctx() argument 172 cgc = bpf_cgrp_storage_get(&cgrp_ctx, cgrp, 0, 0); in find_cgrp_ctx() 174 scx_bpf_error("cgrp_ctx lookup failed for cgid %llu", cgrp->kn->id); in find_cgrp_ctx() 180 static struct fcg_cgrp_ctx *find_ancestor_cgrp_ctx(struct cgroup *cgrp, int level) in find_ancestor_cgrp_ctx() argument 184 cgrp = bpf_cgroup_ancestor(cgrp, level); in find_ancestor_cgrp_ctx() 185 if (!cgrp) { in find_ancestor_cgrp_ctx() 190 cgc = find_cgrp_ctx(cgrp); in find_ancestor_cgrp_ctx() 193 bpf_cgroup_release(cgrp); in find_ancestor_cgrp_ctx() 197 static void cgrp_refresh_hweight(struct cgroup *cgrp, struct fcg_cgrp_ctx *cgc) in cgrp_refresh_hweight() argument 212 bpf_for(level, 0, cgrp->level + 1) { in cgrp_refresh_hweight() [all …]
|
/linux-6.12.1/tools/perf/util/ |
D | cgroup.c | 66 int read_cgroup_id(struct cgroup *cgrp) in read_cgroup_id() argument 74 scnprintf(path, PATH_MAX, "%s/%s", mnt, cgrp->name); in read_cgroup_id() 76 cgrp->id = __read_cgroup_id(path); in read_cgroup_id() 108 if (!counter->cgrp) in evlist__find_cgroup() 110 if (!strcmp(counter->cgrp->name, str)) in evlist__find_cgroup() 111 return cgroup__get(counter->cgrp); in evlist__find_cgroup() 156 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str); in add_cgroup() local 159 if (!cgrp) in add_cgroup() 172 cgroup__put(cgrp); in add_cgroup() 175 counter->cgrp = cgrp; in add_cgroup() [all …]
|
/linux-6.12.1/include/linux/ |
D | cgroup.h | 324 static inline u64 cgroup_id(const struct cgroup *cgrp) in cgroup_id() argument 326 return cgrp->kn->id; in cgroup_id() 349 static inline void cgroup_get(struct cgroup *cgrp) in cgroup_get() argument 351 css_get(&cgrp->self); in cgroup_get() 354 static inline bool cgroup_tryget(struct cgroup *cgrp) in cgroup_tryget() argument 356 return css_tryget(&cgrp->self); in cgroup_tryget() 359 static inline void cgroup_put(struct cgroup *cgrp) in cgroup_put() argument 361 css_put(&cgrp->self); in cgroup_put() 493 static inline struct cgroup *cgroup_parent(struct cgroup *cgrp) in cgroup_parent() argument 495 struct cgroup_subsys_state *parent_css = cgrp->self.parent; in cgroup_parent() [all …]
|
/linux-6.12.1/kernel/bpf/ |
D | cgroup.c | 48 bpf_prog_run_array_cg(const struct cgroup_bpf *cgrp, in bpf_prog_run_array_cg() argument 63 array = rcu_dereference(cgrp->effective[atype]); in bpf_prog_run_array_cg() 88 struct cgroup *cgrp; in __cgroup_bpf_run_lsm_sock() local 97 cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); in __cgroup_bpf_run_lsm_sock() 98 if (likely(cgrp)) in __cgroup_bpf_run_lsm_sock() 99 ret = bpf_prog_run_array_cg(&cgrp->bpf, in __cgroup_bpf_run_lsm_sock() 110 struct cgroup *cgrp; in __cgroup_bpf_run_lsm_socket() local 119 cgrp = sock_cgroup_ptr(&sock->sk->sk_cgrp_data); in __cgroup_bpf_run_lsm_socket() 120 if (likely(cgrp)) in __cgroup_bpf_run_lsm_socket() 121 ret = bpf_prog_run_array_cg(&cgrp->bpf, in __cgroup_bpf_run_lsm_socket() [all …]
|