Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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.