Messages in this thread | | | Date | Tue, 6 Jul 2021 12:33:04 +0200 | From | Peter Zijlstra <> | 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@infradead.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.
| |