lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 22 Dec 2020 18:18:07 -0800 From: Andrew Morton <akpm@...ux-foundation.org> To: Helge Deller <deller@....de> Cc: Alexey Dobriyan <adobriyan@...il.com>, linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org Subject: Re: [PATCH] proc/wchan: Use printk format instead of lookup_symbol_name() On Thu, 17 Dec 2020 17:54:13 +0100 Helge Deller <deller@....de> wrote: > To resolve the symbol fuction name for wchan, use the printk format > specifier %ps instead of manually looking up the symbol function name > via lookup_symbol_name(). > > Signed-off-by: Helge Deller <deller@....de> > Please don't forget the "^---$" to separate the changelog from the diff. > #include <linux/module.h> > @@ -386,19 +385,17 @@ static int proc_pid_wchan(struct seq_file *m, struct pid_namespace *ns, > struct pid *pid, struct task_struct *task) > { > unsigned long wchan; > - char symname[KSYM_NAME_LEN]; > > - if (!ptrace_may_access(task, PTRACE_MODE_READ_FSCREDS)) > - goto print0; > + if (ptrace_may_access(task, PTRACE_MODE_READ_FSCREDS)) > + wchan = get_wchan(task); > + else > + wchan = 0; > > - wchan = get_wchan(task); > - if (wchan && !lookup_symbol_name(wchan, symname)) { > - seq_puts(m, symname); > - return 0; > - } > + if (wchan) > + seq_printf(m, "%ps", (void *) wchan); > + else > + seq_putc(m, '0'); > > -print0: > - seq_putc(m, '0'); > return 0; > } We can simplify this further? static int proc_pid_wchan(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task) { if (ptrace_may_access(task, PTRACE_MODE_READ_FSCREDS)) seq_printf(m, "%ps", (void *)get_wchan(task)); else seq_putc(m, '0'); return 0; } --- a/fs/proc/base.c~proc-wchan-use-printk-format-instead-of-lookup_symbol_name-fix +++ a/fs/proc/base.c @@ -384,15 +384,8 @@ static const struct file_operations proc static int proc_pid_wchan(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task) { - unsigned long wchan; - if (ptrace_may_access(task, PTRACE_MODE_READ_FSCREDS)) - wchan = get_wchan(task); - else - wchan = 0; - - if (wchan) - seq_printf(m, "%ps", (void *) wchan); + seq_printf(m, "%ps", (void *)get_wchan(task)); else seq_putc(m, '0'); _
Powered by blists - more mailing lists