Re: Runtime trouble with commit dbd952127d (seccomp: introduce writer locking)

From: Guenter Roeck
Date: Sun Aug 10 2014 - 19:18:26 EST


On 08/10/2014 02:10 PM, Linus Torvalds wrote:
On Sun, Aug 10, 2014 at 1:51 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
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.

Yes. This is why we have "assert_spin_locked()". You can't use
BUG_ON(spin_is_locked()), and !spin_is_locked() tends to be even worse
unless you can prove that nobody else can get the lock simultaneously.


git grep 'BUG_ON.*!spin_is_locked'

suggests that this may be a spreading sickness ... unless the other users
know for sure that SMP will always be configured.

What is the better fix ? Add NR_CPUS != 1 to the test, as mm does,
or remove it entirely ? Or something else ?

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/