[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3591761.rzLMs6OGtT@wuerfel>
Date: Wed, 18 May 2016 17:29:49 +0200
From: Arnd Bergmann <arnd@...db.de>
To: David Howells <dhowells@...hat.com>
Cc: linux-arch@...r.kernel.org, x86@...nel.org, will.deacon@....com,
linux-kernel@...r.kernel.org, ramana.radhakrishnan@....com,
paulmck@...ux.vnet.ibm.com, dwmw2@...radead.org
Subject: Re: [RFC PATCH 01/15] cmpxchg_local() is not signed-value safe, so fix generic atomics
On Wednesday 18 May 2016 16:10:45 David Howells wrote:
> cmpxchg_local() is not signed-value safe because on a 64-bit machine signed
> int arguments to it may be sign-extended to signed long _before_ begin cast
> to unsigned long. This potentially causes comparisons to fail when dealing
> with negative values.
>
> Fix the generic atomic functions that are implemented in terms of cmpxchg()
> to cast their arguments to unsigned int before calling cmpxchg().
>
> Signed-off-by: David Howells <dhowells@...hat.com>
>
Isn't the problem you describe something that cmpxchg() could prevent instead?
Arnd
Powered by blists - more mailing lists