[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47179ABB.9060104@freedesktop.org>
Date: Thu, 18 Oct 2007 10:41:15 -0700
From: Josh Triplett <josh@...edesktop.org>
To: Alexey Dobriyan <adobriyan@...ru>
CC: linux-sparse@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: sparse breakage triggered by rcu_read_lock() lockdep annotations
Alexey Dobriyan wrote:
> FWIW, commit 851a67b825540a8e00c0be3ee25e4627ba8b133b
> aka "lockdep: annotate rcu_read_{,un}lock{,_bh}"
> causes sparse to trigger internal assertion in quite a few places over
> allyesconfig run.
>
> sparse: flow.c:805: rewrite_parent_branch: Assertion `changed' failed.
>
> Trimmed down testcase:
>
> void f(unsigned long ip);
> static void g(void)
> {
> if (1) {
> f(({ __label__ x; x: (unsigned long)&&x; }));
> }
> f(({ __label__ x; x: (unsigned long)&&x; }));
> }
>
> #0 0x4001c410 in __kernel_vsyscall ()
> (gdb) bt
> #0 0x4001c410 in __kernel_vsyscall ()
> #1 0x40050701 in raise () from /lib/libc.so.6
> #2 0x40051e38 in abort () from /lib/libc.so.6
> #3 0x40049fcc in __assert_fail () from /lib/libc.so.6
> #4 0x08064947 in pack_basic_blocks (ep=0x411a1c6c) at flow.c:812
> #5 0x0805ffbf in linearize_symbol (sym=0x4103ec8c) at linearize.c:2154
> #6 0x080492a3 in main (argc=Cannot access memory at address 0x274d) at sparse.c:266
Thanks for the detailed report. Looking into it now.
- Josh Triplett
Download attachment "signature.asc" of type "application/pgp-signature" (253 bytes)
Powered by blists - more mailing lists