From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751925AbdCNPcf (ORCPT ); Tue, 14 Mar 2017 11:32:35 -0400 Received: from merlin.infradead.org ([205.233.59.134]:60200 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750832AbdCNPcB (ORCPT ); Tue, 14 Mar 2017 11:32:01 -0400 Date: Tue, 14 Mar 2017 16:31:47 +0100 From: Peter Zijlstra To: Dmitry Vyukov Cc: Will Deacon , Mark Rutland , Andrew Morton , Andrey Ryabinin , Ingo Molnar , kasan-dev , "linux-mm@kvack.org" , LKML , "x86@kernel.org" Subject: Re: [PATCH] x86, kasan: add KASAN checks to atomic operations Message-ID: <20170314153146.GQ5680@worktop> References: <20170306125851.GL6500@twins.programming.kicks-ass.net> <20170306130107.GK6536@twins.programming.kicks-ass.net> <20170306162018.GC18519@leverpostej> <20170306203500.GR6500@twins.programming.kicks-ass.net> <20170308152027.GA13133@leverpostej> <20170308174300.GL20400@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.22.1 (2013-10-16) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 14, 2017 at 04:22:52PM +0100, Dmitry Vyukov wrote: > Any other suggestions? > - return i + xadd(&v->counter, i); > + return i + arch_xadd(&v->counter, i); > +#define xadd(ptr, v) \ > +({ \ > + __typeof__(ptr) ____ptr = (ptr); \ > + kasan_check_write(____ptr, sizeof(*____ptr)); \ > + arch_xadd(____ptr, (v)); \ > +}) xadd() isn't a generic thing, it only exists inside x86 as a helper to implement atomic bits.