From: Guenter Roeck <linux@roeck-us.net>
To: Oleg Nesterov <oleg@redhat.com>, Kees Cook <keescook@chromium.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andy Lutomirski <luto@amacapital.net>
Subject: Re: Runtime trouble with commit dbd952127d (seccomp: introduce writer locking)
Date: Sun, 10 Aug 2014 13:51:37 -0700 [thread overview]
Message-ID: <53E7DB59.6020300@roeck-us.net> (raw)
In-Reply-To: <20140810193308.GA31867@redhat.com>
On 08/10/2014 12:33 PM, Oleg Nesterov wrote:
> On 08/09, Kees Cook wrote:
>> On Sat, Aug 9, 2014 at 6:47 PM, Guenter Roeck <private@roeck-us.net> wrote:
>>> Hi folks,
>>>
>>> I am having some trouble with commit dbd952127d (seccomp: introduce
>>> writer locking) when running my qemu tests on the upstream kernel.
>> Eek, sorry this is causing you trouble!
>>
>>> With powerpc, I get the following crash.
>>>
>>> ftrace: allocating 20093 entries in 59 pages
>>> ------------[ cut here ]------------
>>> kernel BUG at kernel/fork.c:1108!
>> For your tree, does this resolve to copy_seccomp()'s
>>
>> BUG_ON(!spin_is_locked(¤t->sighand->siglock));
>>
>> line?
> This is almost off-topic, and I too do not understand whats going on...
Some progress. SMP must be disabled for the problem to be seen.
The underlying spinlock structure, specifically arch_spinlock_t, is from
include/linux/spinlock_types_up.h (not as one would innocently assume
from arch/powerpc/include/asm/spinlock_types.h).
In include/linux/spinlock_types_up.h, arch_spinlock_t is defined as
typedef struct {
/* no debug version on UP */
} arch_rwlock_t;
if spinlock debugging is disabled. With this definition, it is obviously
not possible to detect if the spinlock is locked or not. Actually, the
same file defines
#define arch_spin_is_locked(lock) ((void)(lock), 0)
so the BUG is really not at all surprising.
That means that the broken configuration is (CONFIG_DEBUG_SPINLOCK=n, CONFIG_SMP=n).
It also means that the BUG_ON checks introduced with the seccomp commit
will cause this configuration to fail hard at least for architectures where CONFIG_SMP
can be disabled, and if those architectures use include/linux/spinlock_types_up.h.
Guenter
next prev parent reply other threads:[~2014-08-10 20:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-10 1:47 Runtime trouble with commit dbd952127d (seccomp: introduce writer locking) Guenter Roeck
2014-08-10 3:18 ` Kees Cook
2014-08-10 5:37 ` Guenter Roeck
2014-08-10 18:35 ` Guenter Roeck
2014-08-10 19:33 ` Oleg Nesterov
2014-08-10 20:51 ` Guenter Roeck [this message]
2014-08-10 21:10 ` Linus Torvalds
2014-08-10 23:18 ` Guenter Roeck
2014-08-11 0:05 ` Linus Torvalds
2014-08-11 11:48 ` Oleg Nesterov
2014-08-11 14:11 ` Guenter Roeck
2014-08-11 19:51 ` Kees Cook
2014-08-11 20:26 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53E7DB59.6020300@roeck-us.net \
--to=linux@roeck-us.net \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=oleg@redhat.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.