From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41CF4FA372A for ; Thu, 17 Oct 2019 10:39:33 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E1A972089C for ; Thu, 17 Oct 2019 10:39:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E1A972089C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 97DC48E0006; Thu, 17 Oct 2019 06:39:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 92E838E0003; Thu, 17 Oct 2019 06:39:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 81C4A8E0006; Thu, 17 Oct 2019 06:39:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0178.hostedemail.com [216.40.44.178]) by kanga.kvack.org (Postfix) with ESMTP id 5EA718E0003 for ; Thu, 17 Oct 2019 06:39:32 -0400 (EDT) Received: from smtpin25.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with SMTP id F279E5850 for ; Thu, 17 Oct 2019 10:39:31 +0000 (UTC) X-FDA: 76052930142.25.rain81_70399757f8059 X-HE-Tag: rain81_70399757f8059 X-Filterd-Recvd-Size: 2643 Received: from relay.sw.ru (relay.sw.ru [185.231.240.75]) by imf37.hostedemail.com (Postfix) with ESMTP for ; Thu, 17 Oct 2019 10:39:31 +0000 (UTC) Received: from [172.16.25.5] by relay.sw.ru with esmtp (Exim 4.92.2) (envelope-from ) id 1iL3Bf-0005sq-P7; Thu, 17 Oct 2019 13:39:19 +0300 Subject: Re: [PATCH v3 1/3] kasan: Archs don't check memmove if not support it. To: Nick Hu , alankao@andestech.com, paul.walmsley@sifive.com, palmer@sifive.com, aou@eecs.berkeley.edu, glider@google.com, dvyukov@google.com, corbet@lwn.net, alexios.zavras@intel.com, allison@lohutok.net, Anup.Patel@wdc.com, tglx@linutronix.de, gregkh@linuxfoundation.org, atish.patra@wdc.com, kstewart@linuxfoundation.org, linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org References: From: Andrey Ryabinin Message-ID: Date: Thu, 17 Oct 2019 13:39:12 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 10/8/19 9:11 AM, Nick Hu wrote: > Skip the memmove checking for those archs who don't support it. The patch is fine but the changelog sounds misleading. We don't skip memmove checking. If arch don't have memmove than the C implementation from lib/string.c used. It's instrumented by compiler so it's checked and we simply don't need that KASAN's memmove with manual checks. > Signed-off-by: Nick Hu > --- > mm/kasan/common.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/mm/kasan/common.c b/mm/kasan/common.c > index 6814d6d6a023..897f9520bab3 100644 > --- a/mm/kasan/common.c > +++ b/mm/kasan/common.c > @@ -107,6 +107,7 @@ void *memset(void *addr, int c, size_t len) > return __memset(addr, c, len); > } > > +#ifdef __HAVE_ARCH_MEMMOVE > #undef memmove > void *memmove(void *dest, const void *src, size_t len) > { > @@ -115,6 +116,7 @@ void *memmove(void *dest, const void *src, size_t len) > > return __memmove(dest, src, len); > } > +#endif > > #undef memcpy > void *memcpy(void *dest, const void *src, size_t len) >