[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250904145420.GP39973@ZenIV>
Date: Thu, 4 Sep 2025 15:54:20 +0100
From: Al Viro <viro@...iv.linux.org.uk>
To: Tom Hromatka <tom.hromatka@...cle.com>
Cc: Alexei Starovoitov <alexei.starovoitov@...il.com>,
Kees Cook <kees@...nel.org>, Andy Lutomirski <luto@...capital.net>,
Will Drewry <wad@...omium.org>, Sargun Dhillon <sargun@...gun.me>,
Jonathan Corbet <corbet@....net>, Shuah Khan <shuah@...nel.org>,
Christian Brauner <brauner@...nel.org>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
"open list:KERNEL SELFTEST FRAMEWORK" <linux-kselftest@...r.kernel.org>,
bpf <bpf@...r.kernel.org>
Subject: Re: [PATCH] seccomp: Add SECCOMP_CLONE_FILTER operation
On Thu, Sep 04, 2025 at 08:26:30AM -0600, Tom Hromatka wrote:
> This snippet addresses the double irq issue. I also added a
> check to make sure that task != current. (A user shouldn't
> do that but who knows what they'll actually do.)
>
> if (task == current) {
> put_task_struct(task);
> return -EINVAL;
> }
>
> spin_lock_irq(¤t->sighand->siglock);
> spin_lock(&task->sighand->siglock);
What do you expect to happen if two tasks do that to each other
at the same time? Or, for that matter, if task has been spawned
by current with CLONE_VM | CLONE_SIGHAND?
Powered by blists - more mailing lists