Re: [PATCH V3 17/22] LoongArch: Add some library functions

From: Arnd Bergmann
Date: Fri Sep 17 2021 - 04:34:02 EST


On Fri, Sep 17, 2021 at 5:57 AM Huacai Chen <chenhuacai@xxxxxxxxxxx> wrote:
>
> diff --git a/arch/loongarch/lib/strncpy_user.S b/arch/loongarch/lib/strncpy_user.S
> new file mode 100644
> index 000000000000..b42d81045929
> --- /dev/null
> +++ b/arch/loongarch/lib/strncpy_user.S
> @@ -0,0 +1,51 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Copyright (C) 2020-2021 Loongson Technology Corporation Limited
> + */
> +#include <linux/errno.h>
> +#include <asm/asm.h>
> +#include <asm/asmmacro.h>
> +#include <asm/export.h>
> +#include <asm/regdef.h>
> +
> +#define _ASM_EXTABLE(from, to) \
> + .section __ex_table, "a"; \
> + PTR from, to; \
> + .previous
> +
> +/*
> + * long __strncpy_from_user(char *to, const char *from, long len)
> + *
> + * a0: to
> + * a1: from
> + * a2: len
> + */
> +SYM_FUNC_START(__strncpy_from_user)
> + move a3, zero
> +

I just removed most custom __strncpy_from_user/__strnlen_user
implementations from architectures, and I think you should remove
these as well. Your current version probably does not work any more
with v5.15-rc1, and it is neither efficient nor robust.

Arnd