Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp5305050ybl; Tue, 27 Aug 2019 02:34:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqzWUTk7dMzV1nm9sncc0vsd/3bZf+RwNI/BQduwCgxIedfLUUc76hm04UW5PHWw+JiX9eOa X-Received: by 2002:a17:902:244:: with SMTP id 62mr23234539plc.243.1566898475523; Tue, 27 Aug 2019 02:34:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566898475; cv=none; d=google.com; s=arc-20160816; b=Oopmax8f5+oWI3MJ5HzLpCBnVop3LSGpuwXkJ4ab19RO0KU0zxJg0soxymLyiza6MG /f407w2YZokNi786/WSsVdc2gZG5DRtgqmUaOBmVLmSv7PKgxjHn/ycM2g/UHrXQnIjy tJa10nw4Akppd9E7Ofr1BVeYQvUWBJN7QZ1oyKHnybjC6wwDKQxgf61pQ7+vg0xb1HZP vh4Z4LcVn0muHqSyd8edTByWXoH8tJz2NtxDGnpHeyj9lPt31cRL7ILk1JA+HiKBc2Ei 8aldsEoDtHqbm9P0gHvyQcoeY5qEoWGzLabssxQX0lNcJyeYZe90PPZt58FoYEy1SGI7 PBfg== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=72Uo2bN4xNj6wMxzqbWtwOd6j3qjjG3q+meftdN5l0g=; b=sX4DeYQG6H2zZnOL+pIzf4jur4ZPufNnRjZryKpFz8KdlN0WeMLkNSsd/Jg/lVJfT5 fUD7yDWfLzSHZgHi0jJgcuWskFCYH3oHfw9k86t2NgA25coYHwcBGsxAFiVJI3s9v/yb T8J9WsOSn9aEWQIQX0ODkFu8Fj49KdVYJblVTxjF5ALYfaPmlyh3juVKd8w8Jxv3PA4D G0fi0+4nf846T7zhcrtZrgBupxZZY09cQ3FFJLqIp4QwxTl56t0yux7S02B4CwTY5gxP GrLCmY5Mwt0zxJ8T8IiK8urv1aLA1LaMZ2y/C3t7o7CbOgmcPW6ujFvXZ6Lgjwte5XCA csxA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r129si11443454pgr.21.2019.08.27.02.34.19; Tue, 27 Aug 2019 02:34:35 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729753AbfH0Jdb (ORCPT + 99 others); Tue, 27 Aug 2019 05:33:31 -0400 Received: from relay.sw.ru ([185.231.240.75]:35302 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728702AbfH0Jdb (ORCPT ); Tue, 27 Aug 2019 05:33:31 -0400 Received: from [172.16.25.5] by relay.sw.ru with esmtp (Exim 4.92) (envelope-from ) id 1i2Xqa-0000bE-FK; Tue, 27 Aug 2019 12:33:04 +0300 Subject: Re: [PATCH 1/2] riscv: Add memmove string operation. To: Nick Hu Cc: =?UTF-8?B?QWxhbiBRdWV5LUxpYW5nIEthbyjpq5jprYHoia8p?= , "paul.walmsley@sifive.com" , "palmer@sifive.com" , "aou@eecs.berkeley.edu" , "green.hu@gmail.com" , "deanbo422@gmail.com" , "tglx@linutronix.de" , "linux-riscv@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "glider@google.com" , "dvyukov@google.com" , "Anup.Patel@wdc.com" , "gregkh@linuxfoundation.org" , "alexios.zavras@intel.com" , "atish.patra@wdc.com" , =?UTF-8?B?6Zui6IG3Wm9uZyBab25nLVhpYW4gTGko5p2O5a6X5oayKQ==?= , "kasan-dev@googlegroups.com" References: <09d5108e-f0ba-13d3-be9e-119f49f6bd85@virtuozzo.com> <20190827090738.GA22972@andestech.com> From: Andrey Ryabinin Message-ID: <92dd5f5f-c8a2-53c3-4d61-44acc4366844@virtuozzo.com> Date: Tue, 27 Aug 2019 12:33:11 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190827090738.GA22972@andestech.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/27/19 12:07 PM, Nick Hu wrote: > Hi Andrey > > On Thu, Aug 22, 2019 at 11:59:02PM +0800, Andrey Ryabinin wrote: >> On 8/7/19 10:19 AM, Nick Hu wrote: >>> There are some features which need this string operation for compilation, >>> like KASAN. So the purpose of this porting is for the features like KASAN >>> which cannot be compiled without it. >>> >> >> Compilation error can be fixed by diff bellow (I didn't test it). >> If you don't need memmove very early (before kasan_early_init()) than arch-specific not-instrumented memmove() >> isn't necessary to have. >> >> --- >> 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) >> -- >> 2.21.0 >> >> >> > I have confirmed that the string operations are not used before kasan_early_init(). > But I can't make sure whether other ARCHs would need it before kasan_early_init(). > Do you have any idea to check that? Should I cc all other ARCH maintainers? This doesn't affect other ARCHes in any way. If other arches have their own not-instrumented memmove implementation (and they do), they will continue to be able to use it early.