From: "Chris Li" <christ.li@gmail.com>
To: Alexey Dobriyan <adobriyan@sw.ru>
Cc: linux-sparse@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: sparse breakage triggered by rcu_read_lock() lockdep annotations
Date: Fri, 19 Oct 2007 12:44:09 -0700 [thread overview]
Message-ID: <70318cbf0710191244v59bed9fekbef0ae1fcda22a6a@mail.gmail.com> (raw)
In-Reply-To: <20071016105521.GB6352@localhost.sw.ru>
Err,
Sparse does not support the local label syntax yet. It just treats the
second label "x:" as the same as the first one. Then the linearize
code gets serious confused when it saw one label get define in two
places.
The fix seems not trivial from the first look.
Chris
On 10/16/07, Alexey Dobriyan <adobriyan@sw.ru> 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
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2007-10-19 19:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-16 10:55 sparse breakage triggered by rcu_read_lock() lockdep annotations Alexey Dobriyan
2007-10-18 17:41 ` Josh Triplett
2007-10-19 19:44 ` Chris Li [this message]
2007-10-19 21:08 ` [PATCH] " Christopher Li
2007-10-21 3:34 ` Josh Triplett
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=70318cbf0710191244v59bed9fekbef0ae1fcda22a6a@mail.gmail.com \
--to=christ.li@gmail.com \
--cc=adobriyan@sw.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sparse@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).