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]
Date: Mon, 2 Oct 2023 14:50:34 -0400
From: Barret Rhoden <brho@...gle.com>
To: Alexei Starovoitov <alexei.starovoitov@...il.com>
Cc: Matt Bobrowski <mattbobrowski@...gle.com>,
 Toke Høiland-Jørgensen <toke@...hat.com>,
 Daniel Borkmann <daniel@...earbox.net>, Alexei Starovoitov <ast@...nel.org>,
 Martin KaFai Lau <kafai@...com>, Song Liu <songliubraving@...com>,
 Yonghong Song <yhs@...com>, Marek Majkowski <marek@...udflare.com>,
 Lorenz Bauer <lmb@...udflare.com>, Alan Maguire <alan.maguire@...cle.com>,
 Jesper Dangaard Brouer <brouer@...hat.com>,
 David Miller <davem@...emloft.net>,
 Network Development <netdev@...r.kernel.org>, bpf <bpf@...r.kernel.org>
Subject: Re: bpf indirect calls

On 9/29/23 17:06, Alexei Starovoitov wrote:
> For certain cases like your example above it's relatively easy to add 
> such support, but before we do that please describe the full use case 
> that you wanted to implement with indirect calls.

I'll likely want some sort of indirect call for nesting schedulers in 
sched_ext / ghost.  Specifically, when we're running pick_next_task or 
any thread event handler (e.g. wakeup), we're picturing having a 
dispatch layer that picks which bpf agent to pass that off to, *and* get 
a response from the call.  Based on that response, we could possibly 
call someone else.

In this scenario, there'd be a 'base layer' BPF prog that handles 
pick_next_task from the kernel.  That base layer would choose which 
subprogram to query for its pick_next_task.  Depending on whether or not 
that subprogram has a task to run, the base layer may or may not want to 
run some other BPF program.

I'm not sure if an indirect call is what I'm looking for here, but it 
sounds somewhat related.  The difference might be that I'd like to call 
a function from a different BPF program, if that's possible.

Thanks,
Barret


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ