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=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 F29FCC33C9E for ; Tue, 14 Jan 2020 20:42:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C794624656 for ; Tue, 14 Jan 2020 20:42:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728820AbgANUmf (ORCPT ); Tue, 14 Jan 2020 15:42:35 -0500 Received: from mout.kundenserver.de ([212.227.17.24]:51325 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727102AbgANUmf (ORCPT ); Tue, 14 Jan 2020 15:42:35 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.145]) with ESMTPSA (Nemesis) id 1Mt71D-1jgYIj3jsP-00tQxz; Tue, 14 Jan 2020 21:42:33 +0100 Received: by mail-qt1-f172.google.com with SMTP id e5so13721910qtm.6; Tue, 14 Jan 2020 12:42:32 -0800 (PST) X-Gm-Message-State: APjAAAVUgLu3KybUBRWgZOQT87aqrWe4uGWtrdo3h15KL1osIR27b+Ee XwO52/C8wYUZjJqAr635xsaJiE6VMkpbRTp4nGw= X-Google-Smtp-Source: APXvYqzxLn1Nj4qYcObdVSAkUm2fmRRi+xa7YXncyT2LEy7rE/VbjtJMaqfRb4R8TsrdH0c4vNhly9VoEeEnfkmz8pY= X-Received: by 2002:ac8:768d:: with SMTP id g13mr422257qtr.7.1579034551663; Tue, 14 Jan 2020 12:42:31 -0800 (PST) MIME-Version: 1.0 References: <20200114200846.29434-1-vgupta@synopsys.com> <20200114200846.29434-5-vgupta@synopsys.com> In-Reply-To: <20200114200846.29434-5-vgupta@synopsys.com> From: Arnd Bergmann Date: Tue, 14 Jan 2020 21:42:15 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC 4/4] ARC: uaccess: use optimized generic __strnlen_user/__strncpy_from_user To: Vineet Gupta Cc: Khalid Aziz , Andrey Konovalov , Andrew Morton , Peter Zijlstra , Christian Brauner , Kees Cook , Ingo Molnar , Aleksa Sarai , Linus Torvalds , "open list:SYNOPSYS ARC ARCHITECTURE" , "linux-kernel@vger.kernel.org" , linux-arch Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:P0Yk7cRWAwOVl1R8QACurohhrN3Yw6BNjXW7/LXkaI/xQ3EEAan kK17hFITTMb1B7LSGKhrxVaMHSq08OLC//dtMZVunX2xQrxNQ2y9WrbMubS1I7KgILdFZPR VT+l99twvmuutCmlvEPDqfwXhzY1dO2SUdVa/aAkX9Jq0ayR4YYkS9MA3UsQ/Zqp81P/i9V n8K5bO2ouBi+Zt+cttTzg== X-UI-Out-Filterresults: notjunk:1;V03:K0:Et35N60v8/0=:4cFfVfH3vHhOjgmeYnWMlM k7hPuGQGyDrxVcOFGX4/Uiv3WeTvPmMeDuv8hbfGUx3fUh4B8LAGWZxpY3lhybfZlDBbaA5A7 V2MB0JP0BUTZD+BmXfH782UO4JnvZhD1yJ1MzzB/uyrbZKIDRpTm9IUAYP2+5jT7jkr4N1vzr jVu3fWijUeFSSfsAXzwya7YJhTlp1gJjWdtk4MBnwp8eWzPGCAQE+tx5st7B9Ye/hUnA603kc 1WiScPtXlF28+hcGyUYErzHkl+kfj8T2cUSQd7XkxSxY5jZjhCUK9Fhd5o6nOtY50vxcV4vXb w4LLGfsTwh5rfALr8LtCwhxKRNh7kxYkUtcUKZeL8eQz5HiDxyjEk6RDIy1E8GewR6/wuTCRh 9Xf7gzYmMs635A+OuzxzobhyqqKvpFuG42phTFPvUMtda1j6VCytlCG5XvNWqZ/UJ/fXuxUjd EeuLIEmFj6W9vnNhAcICQSIqNeqU87EzsQ0nO/cF+h1vitXq1nAQFssCPIOdpfjaGJtSEANC4 YI5Kb0PBMVEgTOj3qenlO1GzRKA+7PpQn8Bdak1R0cNVPigBHnCjTNmqphQvd/cw+0RhTeUJG WGl5E3e4PARxcydezPLWBmXqljo/J+0AzDQfLzbT2NR3T2OWqPcVKHNjcalCyxSbOhMc1/bED lx8wPUlIMJwAkotKkDkheCnJKxLbX0LzT6Fhz4WzQtxKK9q4aP2h1hZ2/x1uT6213r71vlXHl TeIZkraj51SB0nYbwNQbX7KG844z/eGfnq66PSIzeubVPzq/5iafldlej3JO/6JWYLhK7cE/g rGfh5Vwmw42u3ZRotHrzb/t9kqJcWyw6Kq5MXN3UpPiccxM8gfjW9nglfrk7alsulmJfhI6RS QcYhV0+c38v4uDQIhGVw== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 14, 2020 at 9:08 PM Vineet Gupta wrote: > diff --git a/arch/arc/include/asm/word-at-a-time.h b/arch/arc/include/asm/word-at-a-time.h > new file mode 100644 > index 000000000000..00e92be70987 > --- /dev/null > +++ b/arch/arc/include/asm/word-at-a-time.h > @@ -0,0 +1,49 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > +/* > + * Copyright (C) 2020 Synopsys Inc. > + */ > +#ifndef __ASM_ARC_WORD_AT_A_TIME_H > +#define __ASM_ARC_WORD_AT_A_TIME_H > + > +#ifdef __LITTLE_ENDIAN__ > + > +#include > + > +struct word_at_a_time { > + const unsigned long one_bits, high_bits; > +}; What's wrong with the generic version on little-endian? Any chance you can find a way to make it work as well for you as this copy? > +static inline unsigned long find_zero(unsigned long mask) > +{ > +#ifdef CONFIG_64BIT > + return fls64(mask) >> 3; > +#else > + return fls(mask) >> 3; > +#endif The CONFIG_64BIT check not be needed, unless you are adding support for 64-bit ARC really soon. Arnd