[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YOQxYJaypdsmqhlX@hirez.programming.kicks-ass.net>
Date: Tue, 6 Jul 2021 12:33:04 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Marco Elver <elver@...gle.com>
Cc: "Paul E. McKenney" <paulmck@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: RCU vs data_race()
On Tue, Jul 06, 2021 at 10:44:46AM +0200, Marco Elver wrote:
> On Tue, 6 Jul 2021 at 10:00, Peter Zijlstra <peterz@...radead.org> wrote:
> [...]
> > In that case, would not an explicit: data_debug(addr) call (implemented
> > by KASAN/KCSAN/whoever), which would report whatever knowledge they have
> > about that address, be even more useful?
>
> KCSAN/KASAN report data-races/memory errors as soon as they encounter
> them, but before they do, cannot give you any more than that (metadata
> if it exists, but not sure it can be interpreted in any useful way
> before an error occurs).
>
> But maybe I misunderstood. Is data_debug() meant to not return
> anything and instead just be a "fake access"?
Mostly just print any meta data that you might have. Like who allocated
it, or which code touched it. I'm thinking KASAN/KCSAN need to keep
track of such stuff for when a violation is detected.
If I understand Paul right; and there's a fair chance I didn't; I tihnk
the issue is that when RCU finds a double call_rcu() (or some other
fail), it has very little clue how we got there, and any addition
information might be useful.
Powered by blists - more mailing lists