From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753217AbaIXMvp (ORCPT ); Wed, 24 Sep 2014 08:51:45 -0400 Received: from mailout4.w1.samsung.com ([210.118.77.14]:35324 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752715AbaIXMvj (ORCPT ); Wed, 24 Sep 2014 08:51:39 -0400 X-AuditID: cbfec7f4-b7f156d0000063c7-82-5422be5911a1 From: Andrey Ryabinin To: linux-kernel@vger.kernel.org Cc: Andrey Ryabinin , Dmitry Vyukov , Konstantin Serebryany , Dmitry Chernenkov , Andrey Konovalov , Yuri Gribov , Konstantin Khlebnikov , Sasha Levin , Christoph Lameter , Joonsoo Kim , Andrew Morton , Dave Hansen , Andi Kleen , Vegard Nossum , "H. Peter Anvin" , Dave Jones , x86@kernel.org, linux-mm@kvack.org, Catalin Marinas Subject: [PATCH v3 11/13] kmemleak: disable kasan instrumentation for kmemleak Date: Wed, 24 Sep 2014 16:44:07 +0400 Message-id: <1411562649-28231-12-git-send-email-a.ryabinin@samsung.com> X-Mailer: git-send-email 2.1.1 In-reply-to: <1411562649-28231-1-git-send-email-a.ryabinin@samsung.com> References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1411562649-28231-1-git-send-email-a.ryabinin@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrJLMWRmVeSWpSXmKPExsVy+t/xy7qR+5RCDK5dUbXY9usRm8XvvTNZ LeasX8NmceTad3aL98t6GC2uf3vDaPHp5QNGiy3Xm5gsnj98yG4x4WEbu8W0jeIWK7ub2Sy2 P3vLZLGy8wGrxeVdc9gs7q35z2qx+MhtZot3zyYzW1xddZDd4seGx6wOIh5r5q1h9Ji/8yOj x85Zd9k9Fmwq9Vi85yWTx6ZVnWwemz5NYvfoenuFyePEjN8sHk+uTGfy+Pj0FovH+31X2Tz6 tqxi9Pi8Sc7jRMsX1gD+KC6blNSczLLUIn27BK6Mr7va2ArmcFWsO7WfvYFxA0cXIyeHhICJ xPzts1khbDGJC/fWs3UxcnEICSxllHi6ooMVwuljkuhtW8AMUsUmoCfxb9Z2NhBbREBBYnPv M7AiZoGDrBLL23rARgkL+EkcefKMEcRmEVCV6Fu9DszmFXCX2NS5lw1inZzE3smrWUBsTqD4 gR8v2CG2NTFKLNv7m2kCI+8CRoZVjKKppckFxUnpuYZ6xYm5xaV56XrJ+bmbGCHR82UH4+Jj VocYBTgYlXh4J4grhQixJpYVV+YeYpTgYFYS4Q3bAxTiTUmsrEotyo8vKs1JLT7EyMTBKdXA 6KScdz9grvSC8w49eifNtgj4/ZGeabncbnrGiwX3VTSZtba/+fhSicU9TnxR85VHljWbTl26 u2H2oeXtprNkjJcsmC5d3xPcFS1wcDX/zwBmq7+1E43nPnRzKOxfbDTBt3OSpbZVXPxpqZam Y1kn1TMc72lFt2RNv9h2x+Xu8zVPordvz5R/oMRSnJFoqMVcVJwIAKsi43R8AgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org kmalloc internally round up allocation size, and kmemleak uses rounded up size as object's size. This makes kasan to complain while kmemleak scans memory or calculates of object's checksum. The simplest solution here is to disable kasan. Signed-off-by: Andrey Ryabinin --- mm/kmemleak.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mm/kmemleak.c b/mm/kmemleak.c index 3cda50c..9bda1b3 100644 --- a/mm/kmemleak.c +++ b/mm/kmemleak.c @@ -98,6 +98,7 @@ #include #include +#include #include #include #include @@ -1113,7 +1114,10 @@ static bool update_checksum(struct kmemleak_object *object) if (!kmemcheck_is_obj_initialized(object->pointer, object->size)) return false; + kasan_disable_local(); object->checksum = crc32(0, (void *)object->pointer, object->size); + kasan_enable_local(); + return object->checksum != old_csum; } @@ -1164,7 +1168,9 @@ static void scan_block(void *_start, void *_end, BYTES_PER_POINTER)) continue; + kasan_disable_local(); pointer = *ptr; + kasan_enable_local(); object = find_and_get_object(pointer, 1); if (!object) -- 2.1.1