Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1945045ybz; Thu, 23 Apr 2020 08:49:07 -0700 (PDT) X-Google-Smtp-Source: APiQypLhunLQh+0FqD0aL78uSFPHYsJx8jpiDc4rmbpyBe8E9QurbDh07fxMs5TtqL7mWEVddrJ7 X-Received: by 2002:a17:907:2069:: with SMTP id qp9mr3279532ejb.137.1587656947702; Thu, 23 Apr 2020 08:49:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587656947; cv=none; d=google.com; s=arc-20160816; b=F+5wleKyc3C142zRcXIScEeVHRMJ+lVH11XOVMIkZNT1EpVuUFPrYTi26vqvXLpqV4 O9yTltvRLaVTEVFu6j7CTj7+MO89zZKb1RMxAmXza9JVYfV2hE0+wDSWXy+Hlzptn9JJ eQFtIyFiNYwW2oO0IgxaunAIfxtuUgK17HxfSVFs4M7FGhnDRcbv2ReHziONvVDYPQmr 3/JFdIEDH3X0CM8oiEKDakHfpC3bqAhAp2cMu385iPajBhADMMA9uVasUoctzTY7OmSN bzdiVwCMrlG5E8XXGkW6kFnIjkC9jWrWP7yGryvCMpocaFiFJslvvd5qBled/GzCfcE9 E0LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=+SloOzgks90oP9C6mvgapac7rntE6LuQE/iY+UvGdqE=; b=GSQ1jORCUJnG5Urgu9D51JQYwTcugCDrYWIy/mT6BUDNVmIzM4ueSf/3tuZNE6aooR 5K0Byt/RBwUYA48VZbWIxVpLIspH+mDaP9fh2eu7d8Bj6yXiWir/eJNypYYdCEvfMSRA +lHUGUDk6NfsAYqX1YdehaihKKv7SOfA3J5UoLeweVfR7hmIZJqeek7GBGnPwnsfzl73 J91SoPYGHz6x7zpT/C3gGH0TirCGDp2fNtOaFLqdm+tI0I/O8njJKbYy69SvXRT13js3 5pVvO+qJjr7dROCWsy7KKLsoCI0Bu9jb4953Ymt2oSOqqhlYoliF9vS4VsJDF4Umc4BR JBDA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@axtens.net header.s=google header.b=IqBvaW2G; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cw6si1309276edb.552.2020.04.23.08.48.43; Thu, 23 Apr 2020 08:49:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@axtens.net header.s=google header.b=IqBvaW2G; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729444AbgDWPp0 (ORCPT + 99 others); Thu, 23 Apr 2020 11:45:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1729205AbgDWPpX (ORCPT ); Thu, 23 Apr 2020 11:45:23 -0400 Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1720BC09B040 for ; Thu, 23 Apr 2020 08:45:23 -0700 (PDT) Received: by mail-pf1-x443.google.com with SMTP id p25so3127554pfn.11 for ; Thu, 23 Apr 2020 08:45:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axtens.net; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+SloOzgks90oP9C6mvgapac7rntE6LuQE/iY+UvGdqE=; b=IqBvaW2GJu0QG+ZWgBIXE1KXL1ya6B4MBW23tQvRqVMiJqNihLu7ElQNpdOWuKXf2D e7fOcA8oeZHNM3l4zTGseuDdu7cySBLdVZCmqMt5FT1XF4o5RIHje5hfbbfRfuuQIF9l wlt0YjK5vcwOmbln9gLApxVOyBNzdy/PZ8FPk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+SloOzgks90oP9C6mvgapac7rntE6LuQE/iY+UvGdqE=; b=KYp3haYupuDaqZJnYYYFD5+AlcjNoxK1Fz3/itP72fNQtRsX/pwF954mMhzDJPA2Kq cnLNVA2KOp/5aCleXglhGnUjYWwjofhp7dI1lbolb3FCU1urHKs/8pQ45z2eO8sZ8D01 YR4p56fPsGDxXQiuy6yXdV8MHI1jD1M6AilixEMW4mRCXdzHJeYrfIJAyPuRmrNXLhIw 2kPfpXs88Ci+gkhyr9MrMo+p3QIZCqu41TDygswecfrjgKMMQWIrgsKiqFBDEwQatFvh bgsDSvaGXrz0S4KWrUECRgOLOCtQMbzAVViZBuRzTWUl5PoMITCkwhnIXgll9qrK03Uv aqrg== X-Gm-Message-State: AGi0Pub2YIwl/AXZfWarsPRGGzlYd4z4YJxd8kMj/HweBkYvHp1DW2UY Y/aqHqLZPCsqMy9Jy5dDitMkCkZyZeU= X-Received: by 2002:aa7:9f0a:: with SMTP id g10mr4217244pfr.109.1587656722363; Thu, 23 Apr 2020 08:45:22 -0700 (PDT) Received: from localhost (2001-44b8-111e-5c00-7979-720a-9390-aec6.static.ipv6.internode.on.net. [2001:44b8:111e:5c00:7979:720a:9390:aec6]) by smtp.gmail.com with ESMTPSA id z6sm2200624pgg.39.2020.04.23.08.45.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2020 08:45:21 -0700 (PDT) From: Daniel Axtens To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, kasan-dev@googlegroups.com Cc: dvyukov@google.com, christophe.leroy@c-s.fr, Daniel Axtens , Andrey Ryabinin , Alexander Potapenko Subject: [PATCH v3 3/3] kasan: initialise array in kasan_memcmp test Date: Fri, 24 Apr 2020 01:45:03 +1000 Message-Id: <20200423154503.5103-4-dja@axtens.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200423154503.5103-1-dja@axtens.net> References: <20200423154503.5103-1-dja@axtens.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org memcmp may bail out before accessing all the memory if the buffers contain differing bytes. kasan_memcmp calls memcmp with a stack array. Stack variables are not necessarily initialised (in the absence of a compiler plugin, at least). Sometimes this causes the memcpy to bail early thus fail to trigger kasan. Make sure the array initialised to zero in the code. No other test is dependent on the contents of an array on the stack. Cc: Andrey Ryabinin Cc: Alexander Potapenko Cc: Dmitry Vyukov Signed-off-by: Daniel Axtens Reviewed-by: Dmitry Vyukov --- lib/test_kasan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/test_kasan.c b/lib/test_kasan.c index 939f395a5392..7700097842c8 100644 --- a/lib/test_kasan.c +++ b/lib/test_kasan.c @@ -638,7 +638,7 @@ static noinline void __init kasan_memcmp(void) { char *ptr; size_t size = 24; - int arr[9]; + int arr[9] = {}; pr_info("out-of-bounds in memcmp\n"); ptr = kmalloc(size, GFP_KERNEL | __GFP_ZERO); -- 2.20.1