lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAADnVQL4y5xpGRH_mq4ntP+HLPrP47k6S6jv3H-wXMLJGJsDMg@mail.gmail.com>
Date:   Thu, 16 Sep 2021 13:04:51 -0700
From:   Alexei Starovoitov <alexei.starovoitov@...il.com>
To:     Jakub Kicinski <kuba@...nel.org>
Cc:     "David S. Miller" <davem@...emloft.net>,
        Daniel Borkmann <daniel@...earbox.net>,
        Andrii Nakryiko <andrii@...nel.org>,
        Network Development <netdev@...r.kernel.org>,
        bpf <bpf@...r.kernel.org>, Kernel Team <kernel-team@...com>
Subject: Re: [PATCH bpf-next] bpf: Document BPF licensing.

On Thu, Sep 16, 2021 at 7:06 AM Jakub Kicinski <kuba@...nel.org> wrote:
>
> On Wed, 15 Sep 2021 20:21:04 -0700 Alexei Starovoitov wrote:
> > +In HW
> > +-----
> > +
> > +The HW can choose to execute eBPF instruction natively and provide eBPF runtime
> > +in HW or via the use of implementing firmware with a proprietary license.
>
> That seems like a step back, nfp parts are all BSD licensed:

Yeah. netronome is a great example of how firmware should be developed.

> > +Packaging BPF programs with user space applications
> > +====================================================
> > +
> > +Generally, proprietary-licensed applications and GPL licensed BPF programs
> > +written for the Linux kernel in the same package can co-exist because they are
> > +separate executable processes. This applies to both cBPF and eBPF programs.
>
> Interesting. BTW is there a definition of what "executable process" is?

That's how lawyers put it.
BPF in many ways is unique, so traditional computer science words and meanings
don't apply 100%. Like, bpf programs are analogous to kernel modules,
but they're very different at the same time as well.
The analogies are used to explain things.
Is bpf program an "executable process" on its own? Hard to say.
Is there a task_struct allocated for each bpf prog? Of course, not.
But it is certainly not executing in ring 3.
In the future we might have kthread or even user thread completely
occupied by bpf progs.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ