2021-04-20 13:39:08

by Guo Ren

[permalink] [raw]
Subject: [PATCH 1/3] nds32: Cleanup deprecated function strlen_user

From: Guo Ren <[email protected]>

$ grep strlen_user * -r
arch/csky/include/asm/uaccess.h:#define strlen_user(str) strnlen_user(str, 32767)
arch/csky/lib/usercopy.c: * strlen_user: - Get the size of a string in user space.
arch/ia64/lib/strlen.S: // Please note that in the case of strlen() as opposed to strlen_user()
arch/mips/lib/strnlen_user.S: * make strlen_user and strnlen_user access the first few KSEG0
arch/nds32/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user * str);
arch/nios2/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user *str);
arch/riscv/include/asm/uaccess.h:extern long __must_check strlen_user(const char __user *str);
kernel/trace/trace_probe_tmpl.h:static nokprobe_inline int fetch_store_strlen_user(unsigned long addr);
kernel/trace/trace_probe_tmpl.h: ret += fetch_store_strlen_user(val + code->offset);
kernel/trace/trace_uprobe.c:fetch_store_strlen_user(unsigned long addr)
kernel/trace/trace_kprobe.c:fetch_store_strlen_user(unsigned long addr)
kernel/trace/trace_kprobe.c: return fetch_store_strlen_user(addr);

See grep result, nobody uses it.

Signed-off-by: Guo Ren <[email protected]>
Cc: Arnd Bergmann <[email protected]>
---
arch/nds32/include/asm/uaccess.h | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/nds32/include/asm/uaccess.h b/arch/nds32/include/asm/uaccess.h
index 010ba5f..d4cbf06 100644
--- a/arch/nds32/include/asm/uaccess.h
+++ b/arch/nds32/include/asm/uaccess.h
@@ -260,7 +260,6 @@ do { \

extern unsigned long __arch_clear_user(void __user * addr, unsigned long n);
extern long strncpy_from_user(char *dest, const char __user * src, long count);
-extern __must_check long strlen_user(const char __user * str);
extern __must_check long strnlen_user(const char __user * str, long n);
extern unsigned long __arch_copy_from_user(void *to, const void __user * from,
unsigned long n);
--
2.7.4


2021-04-20 13:39:57

by Guo Ren

[permalink] [raw]
Subject: [PATCH 2/3] nios2: Cleanup deprecated function strlen_user

From: Guo Ren <[email protected]>

$ grep strlen_user * -r
arch/csky/include/asm/uaccess.h:#define strlen_user(str) strnlen_user(str, 32767)
arch/csky/lib/usercopy.c: * strlen_user: - Get the size of a string in user space.
arch/ia64/lib/strlen.S: // Please note that in the case of strlen() as opposed to strlen_user()
arch/mips/lib/strnlen_user.S: * make strlen_user and strnlen_user access the first few KSEG0
arch/nds32/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user * str);
arch/nios2/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user *str);
arch/riscv/include/asm/uaccess.h:extern long __must_check strlen_user(const char __user *str);
kernel/trace/trace_probe_tmpl.h:static nokprobe_inline int fetch_store_strlen_user(unsigned long addr);
kernel/trace/trace_probe_tmpl.h: ret += fetch_store_strlen_user(val + code->offset);
kernel/trace/trace_uprobe.c:fetch_store_strlen_user(unsigned long addr)
kernel/trace/trace_kprobe.c:fetch_store_strlen_user(unsigned long addr)
kernel/trace/trace_kprobe.c: return fetch_store_strlen_user(addr);

See grep result, nobody uses it.

Signed-off-by: Guo Ren <[email protected]>
Cc: Arnd Bergmann <[email protected]>
---
arch/nios2/include/asm/uaccess.h | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/nios2/include/asm/uaccess.h b/arch/nios2/include/asm/uaccess.h
index a741abb..ba9340e 100644
--- a/arch/nios2/include/asm/uaccess.h
+++ b/arch/nios2/include/asm/uaccess.h
@@ -83,7 +83,6 @@ raw_copy_to_user(void __user *to, const void *from, unsigned long n);

extern long strncpy_from_user(char *__to, const char __user *__from,
long __len);
-extern __must_check long strlen_user(const char __user *str);
extern __must_check long strnlen_user(const char __user *s, long n);

/* Optimized macros */
--
2.7.4

2021-04-20 13:40:25

by Guo Ren

[permalink] [raw]
Subject: [PATCH 3/3] riscv: Cleanup deprecated function strlen_user

From: Guo Ren <[email protected]>

$ grep strlen_user * -r
arch/csky/include/asm/uaccess.h:#define strlen_user(str) strnlen_user(str, 32767)
arch/csky/lib/usercopy.c: * strlen_user: - Get the size of a string in user space.
arch/ia64/lib/strlen.S: // Please note that in the case of strlen() as opposed to strlen_user()
arch/mips/lib/strnlen_user.S: * make strlen_user and strnlen_user access the first few KSEG0
arch/nds32/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user * str);
arch/nios2/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user *str);
arch/riscv/include/asm/uaccess.h:extern long __must_check strlen_user(const char __user *str);
kernel/trace/trace_probe_tmpl.h:static nokprobe_inline int fetch_store_strlen_user(unsigned long addr);
kernel/trace/trace_probe_tmpl.h: ret += fetch_store_strlen_user(val + code->offset);
kernel/trace/trace_uprobe.c:fetch_store_strlen_user(unsigned long addr)
kernel/trace/trace_kprobe.c:fetch_store_strlen_user(unsigned long addr)
kernel/trace/trace_kprobe.c: return fetch_store_strlen_user(addr);

See grep result, nobody uses it.

Signed-off-by: Guo Ren <[email protected]>
Cc: Arnd Bergmann <[email protected]>
---
arch/riscv/include/asm/uaccess.h | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/riscv/include/asm/uaccess.h b/arch/riscv/include/asm/uaccess.h
index 824b2c9..4297f43 100644
--- a/arch/riscv/include/asm/uaccess.h
+++ b/arch/riscv/include/asm/uaccess.h
@@ -372,7 +372,6 @@ raw_copy_to_user(void __user *to, const void *from, unsigned long n)

extern long strncpy_from_user(char *dest, const char __user *src, long count);

-extern long __must_check strlen_user(const char __user *str);
extern long __must_check strnlen_user(const char __user *str, long n);

extern
--
2.7.4

2021-04-20 14:34:09

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH 2/3] nios2: Cleanup deprecated function strlen_user

On Tue, Apr 20, 2021 at 3:37 PM <[email protected]> wrote:
>
> From: Guo Ren <[email protected]>
>
> $ grep strlen_user * -r
> arch/csky/include/asm/uaccess.h:#define strlen_user(str) strnlen_user(str, 32767)
> arch/csky/lib/usercopy.c: * strlen_user: - Get the size of a string in user space.
> arch/ia64/lib/strlen.S: // Please note that in the case of strlen() as opposed to strlen_user()
> arch/mips/lib/strnlen_user.S: * make strlen_user and strnlen_user access the first few KSEG0
> arch/nds32/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user * str);
> arch/nios2/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user *str);
> arch/riscv/include/asm/uaccess.h:extern long __must_check strlen_user(const char __user *str);
> kernel/trace/trace_probe_tmpl.h:static nokprobe_inline int fetch_store_strlen_user(unsigned long addr);
> kernel/trace/trace_probe_tmpl.h: ret += fetch_store_strlen_user(val + code->offset);
> kernel/trace/trace_uprobe.c:fetch_store_strlen_user(unsigned long addr)
> kernel/trace/trace_kprobe.c:fetch_store_strlen_user(unsigned long addr)
> kernel/trace/trace_kprobe.c: return fetch_store_strlen_user(addr);

I would suggest using "grep strlen_user * -rw", to let the whole-word match
filter out the irrelevant ones for the changelog.

> See grep result, nobody uses it.
>
> Signed-off-by: Guo Ren <[email protected]>
> Cc: Arnd Bergmann <[email protected]>

All three patches

Reviewed-by: Arnd Bergmann <[email protected]>

Do you want me to pick them up in the asm-generic tree?

2021-04-20 14:42:08

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH 1/3] nds32: Cleanup deprecated function strlen_user

Can you also clean up the reference to strlen_user in the comments
in the ia64 and mips code, please?

2021-04-20 14:51:13

by Al Viro

[permalink] [raw]
Subject: Re: [PATCH 2/3] nios2: Cleanup deprecated function strlen_user

On Tue, Apr 20, 2021 at 04:32:33PM +0200, Arnd Bergmann wrote:
> On Tue, Apr 20, 2021 at 3:37 PM <[email protected]> wrote:
> >
> > From: Guo Ren <[email protected]>
> >
> > $ grep strlen_user * -r
> > arch/csky/include/asm/uaccess.h:#define strlen_user(str) strnlen_user(str, 32767)
> > arch/csky/lib/usercopy.c: * strlen_user: - Get the size of a string in user space.
> > arch/ia64/lib/strlen.S: // Please note that in the case of strlen() as opposed to strlen_user()
> > arch/mips/lib/strnlen_user.S: * make strlen_user and strnlen_user access the first few KSEG0
> > arch/nds32/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user * str);
> > arch/nios2/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user *str);
> > arch/riscv/include/asm/uaccess.h:extern long __must_check strlen_user(const char __user *str);
> > kernel/trace/trace_probe_tmpl.h:static nokprobe_inline int fetch_store_strlen_user(unsigned long addr);
> > kernel/trace/trace_probe_tmpl.h: ret += fetch_store_strlen_user(val + code->offset);
> > kernel/trace/trace_uprobe.c:fetch_store_strlen_user(unsigned long addr)
> > kernel/trace/trace_kprobe.c:fetch_store_strlen_user(unsigned long addr)
> > kernel/trace/trace_kprobe.c: return fetch_store_strlen_user(addr);
>
> I would suggest using "grep strlen_user * -rw", to let the whole-word match
> filter out the irrelevant ones for the changelog.
>
> > See grep result, nobody uses it.
> >
> > Signed-off-by: Guo Ren <[email protected]>
> > Cc: Arnd Bergmann <[email protected]>
>
> All three patches
>
> Reviewed-by: Arnd Bergmann <[email protected]>
>
> Do you want me to pick them up in the asm-generic tree?

Might make sense to check -next from time to time... See
a0d8d552783b "whack-a-mole: kill strlen_user() (again)" in there

2021-04-20 15:23:22

by Greentime Hu

[permalink] [raw]
Subject: Re: [PATCH 1/3] nds32: Cleanup deprecated function strlen_user

<[email protected]> 於 2021年4月20日 週二 下午9:38寫道:
>
> From: Guo Ren <[email protected]>
>
> $ grep strlen_user * -r
> arch/csky/include/asm/uaccess.h:#define strlen_user(str) strnlen_user(str, 32767)
> arch/csky/lib/usercopy.c: * strlen_user: - Get the size of a string in user space.
> arch/ia64/lib/strlen.S: // Please note that in the case of strlen() as opposed to strlen_user()
> arch/mips/lib/strnlen_user.S: * make strlen_user and strnlen_user access the first few KSEG0
> arch/nds32/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user * str);
> arch/nios2/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user *str);
> arch/riscv/include/asm/uaccess.h:extern long __must_check strlen_user(const char __user *str);
> kernel/trace/trace_probe_tmpl.h:static nokprobe_inline int fetch_store_strlen_user(unsigned long addr);
> kernel/trace/trace_probe_tmpl.h: ret += fetch_store_strlen_user(val + code->offset);
> kernel/trace/trace_uprobe.c:fetch_store_strlen_user(unsigned long addr)
> kernel/trace/trace_kprobe.c:fetch_store_strlen_user(unsigned long addr)
> kernel/trace/trace_kprobe.c: return fetch_store_strlen_user(addr);
>
> See grep result, nobody uses it.
>
> Signed-off-by: Guo Ren <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> ---
> arch/nds32/include/asm/uaccess.h | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/arch/nds32/include/asm/uaccess.h b/arch/nds32/include/asm/uaccess.h
> index 010ba5f..d4cbf06 100644
> --- a/arch/nds32/include/asm/uaccess.h
> +++ b/arch/nds32/include/asm/uaccess.h
> @@ -260,7 +260,6 @@ do { \
>
> extern unsigned long __arch_clear_user(void __user * addr, unsigned long n);
> extern long strncpy_from_user(char *dest, const char __user * src, long count);
> -extern __must_check long strlen_user(const char __user * str);
> extern __must_check long strnlen_user(const char __user * str, long n);
> extern unsigned long __arch_copy_from_user(void *to, const void __user * from,
> unsigned long n);

Thank you, Guo.
Acked-by: Greentime Hu <[email protected]>

2021-04-21 08:29:55

by Guo Ren

[permalink] [raw]
Subject: Re: [PATCH 2/3] nios2: Cleanup deprecated function strlen_user

Thx Arnd,

On Tue, Apr 20, 2021 at 10:32 PM Arnd Bergmann <[email protected]> wrote:
>
> On Tue, Apr 20, 2021 at 3:37 PM <[email protected]> wrote:
> >
> > From: Guo Ren <[email protected]>
> >
> > $ grep strlen_user * -r
> > arch/csky/include/asm/uaccess.h:#define strlen_user(str) strnlen_user(str, 32767)
> > arch/csky/lib/usercopy.c: * strlen_user: - Get the size of a string in user space.
> > arch/ia64/lib/strlen.S: // Please note that in the case of strlen() as opposed to strlen_user()
> > arch/mips/lib/strnlen_user.S: * make strlen_user and strnlen_user access the first few KSEG0
> > arch/nds32/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user * str);
> > arch/nios2/include/asm/uaccess.h:extern __must_check long strlen_user(const char __user *str);
> > arch/riscv/include/asm/uaccess.h:extern long __must_check strlen_user(const char __user *str);
> > kernel/trace/trace_probe_tmpl.h:static nokprobe_inline int fetch_store_strlen_user(unsigned long addr);
> > kernel/trace/trace_probe_tmpl.h: ret += fetch_store_strlen_user(val + code->offset);
> > kernel/trace/trace_uprobe.c:fetch_store_strlen_user(unsigned long addr)
> > kernel/trace/trace_kprobe.c:fetch_store_strlen_user(unsigned long addr)
> > kernel/trace/trace_kprobe.c: return fetch_store_strlen_user(addr);
>
> I would suggest using "grep strlen_user * -rw", to let the whole-word match
> filter out the irrelevant ones for the changelog.
>
> > See grep result, nobody uses it.
> >
> > Signed-off-by: Guo Ren <[email protected]>
> > Cc: Arnd Bergmann <[email protected]>
>
> All three patches
>
> Reviewed-by: Arnd Bergmann <[email protected]>
>
> Do you want me to pick them up in the asm-generic tree?
Yes, please take them.



--
Best Regards
Guo Ren

ML: https://lore.kernel.org/linux-csky/