Re: Crash when attaching uretprobes to processes running in Docker
From: Eyal Birger
Date: Wed Jan 15 2025 - 08:24:44 EST
Hi,
On Wed, Jan 15, 2025 at 1:36 AM Jiri Olsa <olsajiri@xxxxxxxxx> wrote:
>
> On Tue, Jan 14, 2025 at 06:25:20PM +0100, Oleg Nesterov wrote:
> > On 01/14, Jiri Olsa wrote:
> > >
> > > ugh.. could we just 'disable' uretprobe trampoline when seccomp gets enabled?
> > > overwrite first byte with int3.. and similarly check on seccomp when installing
> > > uretprobe and switch to int3
> >
> > Sorry, I don't understand... What exactly we can do? Aside from checking
> > IS_ENABLED(CONFIG_SECCOMP) in arch_uprobe_trampoline() ?
>
> I need to check more on seccomp, but I imagine we could do following:
> - when seccomp filter is installed we could check uprobe trampoline
> and if it's already installed we change it to int3 trampoline
> - when uprobe trampoline is getting installed we check if there's
> seccomp filter installed for task and we use int3 trampoline
Sounds reasonable to me.
I'm wondering how hard it is to figure out the seccomp installation
given that from what I understand it's inherited.
>
> other than that I guess we will have to add sysctl to enable uretprobe
> trampoline..
I'm wondering when one would enable/disable such sysctl.
"Give me speed but potentially crash processes I don't control"
is a curious semantic...
Eyal
>
> jirka