2020-03-09 18:05:11

by Stephen Kitt

[permalink] [raw]
Subject: [PATCH v2] docs: sysctl/kernel: document BPF entries

Based on the implementation in kernel/bpf/syscall.c,
kernel/bpf/trampoline.c, include/linux/filter.h, and the documentation
in bpftool-prog.rst.

The section style doesn't match the surrounding sections; it matches
the style of the reworked kernel.rst queued up in docs-next.

Signed-off-by: Stephen Kitt <[email protected]>
---

Notes:
Changes since v1:
- rebased on bpf-next instead of docs-next.

Documentation/admin-guide/sysctl/kernel.rst | 24 +++++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/Documentation/admin-guide/sysctl/kernel.rst b/Documentation/admin-guide/sysctl/kernel.rst
index def074807cee..eea7afd509ac 100644
--- a/Documentation/admin-guide/sysctl/kernel.rst
+++ b/Documentation/admin-guide/sysctl/kernel.rst
@@ -174,6 +174,20 @@ See the type_of_loader and ext_loader_ver fields in
Documentation/x86/boot.rst for additional information.


+bpf_stats_enabled
+=================
+
+Controls whether the kernel should collect statistics on BPF programs
+(total time spent running, number of times run...). Enabling
+statistics causes a slight reduction in performance on each program
+run. The statistics can be seen using ``bpftool``.
+
+= ===================================
+0 Don't collect statistics (default).
+1 Collect statistics.
+= ===================================
+
+
cap_last_cap:
=============

@@ -1123,6 +1137,16 @@ NMI switch that most IA32 servers have fires unknown NMI up, for
example. If a system hangs up, try pressing the NMI switch.


+unprivileged_bpf_disabled
+=========================
+
+Writing 1 to this entry will disabled unprivileged calls to ``bpf()``;
+once disabled, calling ``bpf()`` without ``CAP_SYS_ADMIN`` will return
+``-EPERM``.
+
+Once set, this can't be cleared.
+
+
watchdog:
=========


base-commit: 3e7c67d90e3ed2f34fce42699f11b150dd1d3999
--
2.20.1


2020-03-10 17:49:58

by Alexei Starovoitov

[permalink] [raw]
Subject: Re: [PATCH v2] docs: sysctl/kernel: document BPF entries

On Mon, Mar 9, 2020 at 11:05 AM Stephen Kitt <[email protected]> wrote:
>
> Based on the implementation in kernel/bpf/syscall.c,
> kernel/bpf/trampoline.c, include/linux/filter.h, and the documentation
> in bpftool-prog.rst.
>
> The section style doesn't match the surrounding sections; it matches
> the style of the reworked kernel.rst queued up in docs-next.
>
> Signed-off-by: Stephen Kitt <[email protected]>
> ---
>
> Notes:
> Changes since v1:
> - rebased on bpf-next instead of docs-next.
>
> Documentation/admin-guide/sysctl/kernel.rst | 24 +++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/Documentation/admin-guide/sysctl/kernel.rst b/Documentation/admin-guide/sysctl/kernel.rst
> index def074807cee..eea7afd509ac 100644
> --- a/Documentation/admin-guide/sysctl/kernel.rst
> +++ b/Documentation/admin-guide/sysctl/kernel.rst
> @@ -174,6 +174,20 @@ See the type_of_loader and ext_loader_ver fields in
> Documentation/x86/boot.rst for additional information.
>
>
> +bpf_stats_enabled
> +=================
> +
> +Controls whether the kernel should collect statistics on BPF programs
> +(total time spent running, number of times run...). Enabling
> +statistics causes a slight reduction in performance on each program
> +run. The statistics can be seen using ``bpftool``.
> +
> += ===================================
> +0 Don't collect statistics (default).
> +1 Collect statistics.
> += ===================================
> +
> +
> cap_last_cap:
> =============
>
> @@ -1123,6 +1137,16 @@ NMI switch that most IA32 servers have fires unknown NMI up, for
> example. If a system hangs up, try pressing the NMI switch.
>
>
> +unprivileged_bpf_disabled
> +=========================
> +
> +Writing 1 to this entry will disabled unprivileged calls to ``bpf()``;

same typo as was pointed out earlier.

2020-03-10 23:18:07

by Stephen Kitt

[permalink] [raw]
Subject: Re: [PATCH v2] docs: sysctl/kernel: document BPF entries

On Tue, 10 Mar 2020 10:47:15 -0700, Alexei Starovoitov
<[email protected]> wrote:

> On Mon, Mar 9, 2020 at 11:05 AM Stephen Kitt <[email protected]> wrote:
> >
> > Based on the implementation in kernel/bpf/syscall.c,
> > kernel/bpf/trampoline.c, include/linux/filter.h, and the documentation
> > in bpftool-prog.rst.
> >
> > The section style doesn't match the surrounding sections; it matches
> > the style of the reworked kernel.rst queued up in docs-next.
> >
> > Signed-off-by: Stephen Kitt <[email protected]>
> > ---
> >
> > Notes:
> > Changes since v1:
> > - rebased on bpf-next instead of docs-next.
> >
> > Documentation/admin-guide/sysctl/kernel.rst | 24 +++++++++++++++++++++
> > 1 file changed, 24 insertions(+)
> >
> > diff --git a/Documentation/admin-guide/sysctl/kernel.rst
> > b/Documentation/admin-guide/sysctl/kernel.rst index
> > def074807cee..eea7afd509ac 100644 ---
> > a/Documentation/admin-guide/sysctl/kernel.rst +++
> > b/Documentation/admin-guide/sysctl/kernel.rst @@ -174,6 +174,20 @@ See
> > the type_of_loader and ext_loader_ver fields in
> > Documentation/x86/boot.rst for additional information.
> >
> >
> > +bpf_stats_enabled
> > +=================
> > +
> > +Controls whether the kernel should collect statistics on BPF programs
> > +(total time spent running, number of times run...). Enabling
> > +statistics causes a slight reduction in performance on each program
> > +run. The statistics can be seen using ``bpftool``.
> > +
> > += ===================================
> > +0 Don't collect statistics (default).
> > +1 Collect statistics.
> > += ===================================
> > +
> > +
> > cap_last_cap:
> > =============
> >
> > @@ -1123,6 +1137,16 @@ NMI switch that most IA32 servers have fires
> > unknown NMI up, for example. If a system hangs up, try pressing the NMI
> > switch.
> >
> >
> > +unprivileged_bpf_disabled
> > +=========================
> > +
> > +Writing 1 to this entry will disabled unprivileged calls to ``bpf()``;
>
> same typo as was pointed out earlier.

Oh dear, sorry about that, v3 is on its way :-(.

Regards,

Stephen


Attachments:
(No filename) (849.00 B)
OpenPGP digital signature