Re: [tip:core/locking] locking: Check spinlock_t/rwlock_t argumenttype on non-SMP builds too

From: Dave
Date: Sun Aug 02 2009 - 12:46:13 EST


Ingo Molnar wrote:
> * tip-bot for David Kilroy <kilroyd@xxxxxxxxxxxxxx> wrote:
>
>> Commit-ID: 02626aa5ecc03f94585164b97bedabe15302e3c3
>> Gitweb: http://git.kernel.org/tip/02626aa5ecc03f94585164b97bedabe15302e3c3
>> Author: David Kilroy <kilroyd@xxxxxxxxxxxxxx>
>> AuthorDate: Wed, 22 Jul 2009 19:11:35 +0100
>> Committer: Ingo Molnar <mingo@xxxxxxx>
>> CommitDate: Sun, 2 Aug 2009 14:59:29 +0200
>>
>> locking: Check spinlock_t/rwlock_t argument type on non-SMP builds too
>
> -tip testing found UP crashes and i bisected it down to:
>
> 02626aa5ecc03f94585164b97bedabe15302e3c3 is first bad commit
> commit 02626aa5ecc03f94585164b97bedabe15302e3c3
> Author: David Kilroy <kilroyd@xxxxxxxxxxxxxx>
> Date: Wed Jul 22 19:11:35 2009 +0100
>
> locking: Check spinlock_t/rwlock_t argument type on non-SMP builds too
>
> the crash looks like this:
>
> [ 55.257999] ip[3699]: segfault at 31108c6d80 ip 00000031108c6d80 sp 00007fff4aa183d8 error 14
>
> sometimes it's just a spontaneous reboot with no log message.


Crap. Looking really carefully:

+static inline int _spin_trylock_bh(spinlock_t *lock)
+{ __LOCK(lock); return 1; }

Should have been:

+static inline int _spin_trylock_bh(spinlock_t *lock)
+{ __LOCK_BH(lock); return 1; }

I can't say if that's definitely causing your issue, but it's certainly
wrong. I'll go through it all again, and send a v3 of the patch.


Dave.
--
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/