Messages in this thread | | | Date | Tue, 26 Feb 2019 11:45:51 +0100 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH] tools/memory-model: Remove (dep ; rfi) from ppo |
| |
On Tue, Feb 26, 2019 at 10:30:09AM +0100, Peter Zijlstra wrote: > On Mon, Feb 25, 2019 at 09:55:17AM -0800, Paul E. McKenney wrote: > > But if you know of any code in the Linux kernel that needs to compare > > pointers, one of which might be in the process of being freed, please > > do point me at it. > > I'm having the utmost difficulty of understanding why that would be a > problem. It's just a value. Freeing memory does not affect the actual > memory or any pointers to it. > > *confusion* > > None of this makes any kind of sense.
I found and started to read:
www.open-std.org/jtc1/sc22/wg14/www/docs/n2311.pdf
and that's all massive bong-hits. That's utterly insane.
Even the proposed semantics are crazy; they include UB and are therefore broken on principle. But also; the provenance ID has words like: "allocated storage duration", how is that well defined in the context of concurrent execution?
Also, isn't the kernel filled with inter-object pointer arithmetic?
PNVI also looks like something that simply cannot work; how are we at compile time supposed to know the active (concurrent modified) heap layout. What is a 'live' object?
| |