Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932493AbaGITdz (ORCPT ); Wed, 9 Jul 2014 15:33:55 -0400 Received: from mga02.intel.com ([134.134.136.20]:22830 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932476AbaGITdr (ORCPT ); Wed, 9 Jul 2014 15:33:47 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.01,632,1400050800"; d="scan'208";a="570761552" From: Andi Kleen To: Andrey Ryabinin Cc: linux-kernel@vger.kernel.org, Dmitry Vyukov , Konstantin Serebryany , Alexey Preobrazhensky , Andrey Konovalov , Yuri Gribov , Konstantin Khlebnikov , Sasha Levin , Michal Marek , Russell King , Thomas Gleixner , Ingo Molnar , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , linux-kbuild@vger.kernel.org, linux-arm-kernel@lists.infradead.org, x86@kernel.org, linux-mm@kvack.org Subject: Re: [RFC/PATCH RESEND -next 03/21] x86: add kasan hooks fort memcpy/memmove/memset functions References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1404905415-9046-4-git-send-email-a.ryabinin@samsung.com> Date: Wed, 09 Jul 2014 12:31:58 -0700 In-Reply-To: <1404905415-9046-4-git-send-email-a.ryabinin@samsung.com> (Andrey Ryabinin's message of "Wed, 09 Jul 2014 15:29:57 +0400") Message-ID: <87ion6nxap.fsf@tassilo.jf.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Andrey Ryabinin writes: > + > +#undef memcpy > +void *kasan_memset(void *ptr, int val, size_t len); > +void *kasan_memcpy(void *dst, const void *src, size_t len); > +void *kasan_memmove(void *dst, const void *src, size_t len); > + > +#define memcpy(dst, src, len) kasan_memcpy((dst), (src), (len)) > +#define memset(ptr, val, len) kasan_memset((ptr), (val), (len)) > +#define memmove(dst, src, len) kasan_memmove((dst), (src), (len)) I don't think just define is enough, gcc can call these functions implicitely too (both with and without __). For example for a struct copy. You need to have true linker level aliases. -Andi -- ak@linux.intel.com -- Speaking for myself only -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/