bpf: move sleepable flag from bpf_prog_aux to bpf_prog
[linux-2.6-block.git] / include / linux / bpf.h
index 08ad265cb195979903f4f200193672cdf5214517..4f20f62f9d63da87800af4ac21cbc7c92dae5fb9 100644 (file)
@@ -1455,7 +1455,6 @@ struct bpf_prog_aux {
        bool attach_btf_trace; /* true if attaching to BTF-enabled raw tp */
        bool attach_tracing_prog; /* true if tracing another tracing program */
        bool func_proto_unreliable;
-       bool sleepable;
        bool tail_call_reachable;
        bool xdp_has_frags;
        bool exception_cb;
@@ -1541,7 +1540,8 @@ struct bpf_prog {
                                enforce_expected_attach_type:1, /* Enforce expected_attach_type checking at attach time */
                                call_get_stack:1, /* Do we call bpf_get_stack() or bpf_get_stackid() */
                                call_get_func_ip:1, /* Do we call get_func_ip() */
-                               tstamp_type_access:1; /* Accessed __sk_buff->tstamp_type */
+                               tstamp_type_access:1, /* Accessed __sk_buff->tstamp_type */
+                               sleepable:1;    /* BPF program is sleepable */
        enum bpf_prog_type      type;           /* Type of BPF program */
        enum bpf_attach_type    expected_attach_type; /* For some prog types */
        u32                     len;            /* Number of filter blocks */
@@ -2112,14 +2112,14 @@ bpf_prog_run_array_uprobe(const struct bpf_prog_array __rcu *array_rcu,
        old_run_ctx = bpf_set_run_ctx(&run_ctx.run_ctx);
        item = &array->items[0];
        while ((prog = READ_ONCE(item->prog))) {
-               if (!prog->aux->sleepable)
+               if (!prog->sleepable)
                        rcu_read_lock();
 
                run_ctx.bpf_cookie = item->bpf_cookie;
                ret &= run_prog(prog, ctx);
                item++;
 
-               if (!prog->aux->sleepable)
+               if (!prog->sleepable)
                        rcu_read_unlock();
        }
        bpf_reset_run_ctx(old_run_ctx);