Hi Paul, On Tue, 26 Feb 2019 06:28:45 -0800, Paul E. McKenney wrote: > On Tue, Feb 26, 2019 at 02:49:06PM +0100, Peter Zijlstra wrote: >> On Tue, Feb 26, 2019 at 12:38:13PM +0100, Borislav Petkov wrote: >>> On Tue, Feb 26, 2019 at 12:30:08PM +0100, Peter Zijlstra wrote: >>>> When I used the argc variant, gcc-8 'works', but with s/argc/1/ it is >>>> still broken. >>> >>> As requested on IRC: >> >> What I asked was if you could get your GCC developer friends to have a >> look at this :-) > > Yes, this all is a bit on the insane side from a kernel viewpoint. > But the paper you found does not impose this; it has instead been there > for about 20 years, back before C and C++ admitted to the existence > of concurrency. By "it", do you mean the concept of "pointer provenance"? I'm asking because the paper's header reads: "ISO/IEC JTC1/SC22/WG14 N2311, 2018-11-09" Just wanted to make sure. Thanks, Akira > But of course compilers are getting more aggressive, > and yes, some of the problems show up in single-threaded code. > > The usual response is "then cast the pointers to intptr_t!" but of > course that breaks type checking. > > There is an effort to claw back the concurrency pieces, and I would > be happy to run the resulting paper past you guys. > > I must confess to not being all that sympathetic to code that takes > advantage of happenstance stack-frame layout. Is there some reason > we need that? > > Thanx, Paul >