|
|
Message-ID: <20161111201704.GQ3117@twins.programming.kicks-ass.net>
Date: Fri, 11 Nov 2016 21:17:04 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Kees Cook <keescook@...omium.org>
Cc: Will Deacon <will.deacon@....com>, Greg KH <gregkh@...uxfoundation.org>,
David Windsor <dave@...gbits.org>,
"kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>,
Elena Reshetova <elena.reshetova@...el.com>,
Arnd Bergmann <arnd@...db.de>, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <h.peter.anvin@...el.com>
Subject: Re: Re: [RFC v4 PATCH 00/13] HARDENED_ATOMIC
On Fri, Nov 11, 2016 at 10:04:42AM -0800, Kees Cook wrote:
> I'm totally open about how to get there, but things can't just be opt-in.
There really is no alternative.
refcount_t; should only have: inc, inc_not_zero, dec_and_test
stats_t; should only have: add,sub
atomic_t; has:
{add,inc,sub,dec} + {and,or,xor,notand}
{add,inc,sub,dec}_return * {,relaxed,release,acquire}
(fetch_{add,inc,sub,dec} + {and,or,xor,notand}) * {,relaxed,release,acquire}
{sub,add,inc,dec}_and_test
{cmpxchg,xchg}
add_unless,inc_not_zero,{inc,dec}_unless_negative,dec_if_positive
That is so much more than either refcount_t or stats_t should have, and
the whole wrap/nowrap thing only matters to part of the ops.
Like said, atomic_cmpxchg_wrap() is utter crap, that's a function name
that doesn't make sense, and you guys should have realized that the
moment you typed it.
Its fantasy to think you can 'implement' atomic_t with refcount_t or
anything else. You're chasing unicorns.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.