Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp3022129imm; Thu, 17 May 2018 01:55:18 -0700 (PDT) X-Google-Smtp-Source: AB8JxZroQKcZaW49UHSDdc7gCzlL97mFMcWQ9p14frp2qPrNdIRDXmXCGRkyMr+HtQzMkILO872C X-Received: by 2002:a17:902:bc49:: with SMTP id t9-v6mr4473044plz.109.1526547318939; Thu, 17 May 2018 01:55:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526547318; cv=none; d=google.com; s=arc-20160816; b=qEomz6L5wAYz1riwrdxZxyLsbGqIVHChgh8HkvRiC2PgXZIF4/GnZ5p5g4AckqmifT y+lIfCd720m7/e1XlUCk381yZ02Ng+ugb4FuJuKKwTZSUOHXKR0xTNZcpHjoNNg5qbvr FfQBvoOVaUzoERqcCyTJcMzWtUde06NcOYOn5WfAB+tF6o0y4eXSzNLTOoBjtLUYM2Mg 6i55wzBR+/uNj2o/niOoD5cp7wnpExV/PlCyI6MboWn7OY5ekTX0J1eCoPEt5LGY0cb/ OZ65NxsSYgBr0krYr+Y+NPKQOfdmsoXszHqlPzGXCYLgVUfS5aJUa65gkLntQnl4lZEX D6cw== 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:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature:arc-authentication-results; bh=82vRg+lCMKAKQj63BkzMJqUJ/KeHqj5aZCqtz6MqVu0=; b=jhLvPQ+QAMOdd3dPUyiffACl/MQG5d8ni1E9ZkLA4jBZzlR0vqh+JrR/yy7bD3S+Ix a9aGKdKxwm8toWQROH3IuHjFn0AGIlePlPZKGnaHNuZ+OYHAWpDwWtfMh98A6LklcvYj AFos9nj01Y3vC/oZoaY9en6oR//w3a14t+G9a6ayJgjF7yaJLikJumus1TLqIujb9l+a Qovl60hd9Af0zwmf30945NJGv6+Fvwd3lsoD6ti+DLyO9LyEQ0sqAwV04tZE1cv1z/K0 B5AjFGuHBol/jurbK1NeFEuAygPg/boWj4fnYGl9VCdKc/DWDl+tzu9/oGlbFmPhqfbR qWMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=jXnSmyBu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t13-v6si5033146pfc.333.2018.05.17.01.55.04; Thu, 17 May 2018 01:55:18 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=jXnSmyBu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751520AbeEQIyJ (ORCPT + 99 others); Thu, 17 May 2018 04:54:09 -0400 Received: from mail-ua0-f193.google.com ([209.85.217.193]:45330 "EHLO mail-ua0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751061AbeEQIyG (ORCPT ); Thu, 17 May 2018 04:54:06 -0400 Received: by mail-ua0-f193.google.com with SMTP id j5-v6so2412317uak.12 for ; Thu, 17 May 2018 01:54:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=82vRg+lCMKAKQj63BkzMJqUJ/KeHqj5aZCqtz6MqVu0=; b=jXnSmyBurKL873QNRt3BBYVFYPG239S6xKqFdrJzpCBMxG45+Td3v+u7h3MVQfcnxT m62ZX4mNnH3EuLbeWkLNvUeRjj+ALoCeKy8bGY8eo14KtTskmWpVMhVePr28p/lFCq7L feywZF5g4XQcVab21Ws2gXKQZL78GVBYnjkANLAxJySBgegYOwHatSSdB+GzxncMk0+N CZ8NJsJgAblvz5CH85FDKwV/jsQA9xMjgAiO7VGHoKmK4fvf+c15nWqzQPy/k/DHFvC/ iX2IvircKszlm3a2l/43eeC1x11Ut5lCPCNRW1yHSuqZ5UVV3CY9Lisexz578RNxLWnd nx1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=82vRg+lCMKAKQj63BkzMJqUJ/KeHqj5aZCqtz6MqVu0=; b=L4ffb+F1fFTmo+DWlbH9W/J/6MVTJdRqsLSvg1gEekG9strDqPzZ+SHZ6jJKxzy835 MIcbbxICc+RUixIUFJspHIBLuSQt9uT86YISTsVFTT1W8PK73ILZe1wdsc/qvGbqikj1 jzktzYI+5WJwx+imgo69w9M+RBdaR+oLPNSchvkT3VCSMdopPtMApLiIXVh5DjLghToU MJGUceLdNSuxKM3fzv/i7CLfrM/IRz4kXoHJN0GV0zsUl7TiReFqEzkx5DlcUIPNAMqN EaHMi9MgZeIcQV0v30ZMAMg11UyUIqtoIN1aOB7KVFAHHXbtQvCEOx2EHU3jviEN/5l+ B3QA== X-Gm-Message-State: ALKqPwc4SSOnJj9oWYpQJUO1/xifyEK7LJTe63GE74Q1d6brUK8fEfXR KBFNNWpSAiikIXG04863GXMBeZsL0U4WqoP+Nc2WuQ== X-Received: by 2002:ab0:5257:: with SMTP id j23-v6mr3674679uaa.70.1526547245207; Thu, 17 May 2018 01:54:05 -0700 (PDT) MIME-Version: 1.0 References: <20180516153434.24479-1-glider@google.com> In-Reply-To: From: Alexander Potapenko Date: Thu, 17 May 2018 10:53:53 +0200 Message-ID: Subject: Re: [PATCH] lib/stackdepot.c: use a non-instrumented version of memcpy() To: Andrey Ryabinin Cc: Andrew Morton , Dmitriy Vyukov , Linux Memory Management List , LKML Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 16, 2018 at 6:45 PM Andrey Ryabinin wrote: > On 05/16/2018 06:34 PM, Alexander Potapenko wrote: > > stackdepot used to call memcpy(), which compiler tools normally > > instrument, therefore every lookup used to unnecessarily call instrumented > > code. This is somewhat ok in the case of KASAN, but under KMSAN a lot of > > time was spent in the instrumentation. > > > > (A similar change has been previously committed for memcmp()) > > > > Signed-off-by: Alexander Potapenko > > Cc: Andrey Ryabinin > > Cc: Dmitry Vyukov > > --- > > lib/stackdepot.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/lib/stackdepot.c b/lib/stackdepot.c > > index e513459a5601..d48c744fa750 100644 > > --- a/lib/stackdepot.c > > +++ b/lib/stackdepot.c > > @@ -140,7 +140,7 @@ static struct stack_record *depot_alloc_stack(unsigned long *entries, int size, > > stack->handle.slabindex =3D depot_index; > > stack->handle.offset =3D depot_offset >> STACK_ALLOC_ALIGN; > > stack->handle.valid =3D 1; > > - memcpy(stack->entries, entries, size * sizeof(unsigned long)); > > + __memcpy(stack->entries, entries, size * sizeof(unsigned long)); > This has no effect. Since the whole file is not instrumented memcpy automagically replaced with __memcpy. You're right, we just didn't have the code defining memcpy() to __memcpy() in KMSAN. I'll fix that instead. --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg