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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 28 Feb 2024 18:35:07 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Josh Poimboeuf <jpoimboe@...hat.com>
Cc: x86@...nel.org, linux-kernel@...r.kernel.org, Peter Zijlstra
 <peterz@...radead.org>, Vince Weaver <vincent.weaver@...ne.edu>, Dave Jones
 <dsj@...com>, Jann Horn <jannh@...gle.com>, Miroslav Benes
 <mbenes@...e.cz>, Andy Lutomirski <luto@...nel.org>, Thomas Gleixner
 <tglx@...utronix.de>, Masami Hiramatsu <mhiramat@...nel.org>, Nilay Vaish
 <nilayvaish@...gle.com>
Subject: Re: [PATCH v2 06/11] x86/unwind/orc: Convert global variables to
 static

On Sat, 25 Apr 2020 05:03:05 -0500
Josh Poimboeuf <jpoimboe@...hat.com> wrote:

> These variables aren't used outside of unwind_orc.c, make them static.
> 
> Also annotate some of them with '__ro_after_init', as applicable.

So it appears that crash uses "lookup_num_blocks" to be able to do
back-traces with the ORC unwinder. But because it's now static, crash can no
longer do that.

Is it possible to make lookup_num_blocks global again?

/* Not static so that the crash utility can access it */
unsigned int lookup_num_blocks __ro_after_init;

-- Steve

> 
> Signed-off-by: Josh Poimboeuf <jpoimboe@...hat.com>
> Reviewed-by: Miroslav Benes <mbenes@...e.cz>
> ---
>  arch/x86/kernel/unwind_orc.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/x86/kernel/unwind_orc.c b/arch/x86/kernel/unwind_orc.c
> index e9cc182aa97e..64889da666f4 100644
> --- a/arch/x86/kernel/unwind_orc.c
> +++ b/arch/x86/kernel/unwind_orc.c
> @@ -15,12 +15,12 @@ extern int __stop_orc_unwind_ip[];
>  extern struct orc_entry __start_orc_unwind[];
>  extern struct orc_entry __stop_orc_unwind[];
>  
> -static DEFINE_MUTEX(sort_mutex);
> -int *cur_orc_ip_table = __start_orc_unwind_ip;
> -struct orc_entry *cur_orc_table = __start_orc_unwind;
> +static bool orc_init __ro_after_init;
> +static unsigned int lookup_num_blocks __ro_after_init;
>  
> -unsigned int lookup_num_blocks;
> -bool orc_init;
> +static DEFINE_MUTEX(sort_mutex);
> +static int *cur_orc_ip_table = __start_orc_unwind_ip;
> +static struct orc_entry *cur_orc_table = __start_orc_unwind;
>  
>  static inline unsigned long orc_ip(const int *ip)
>  {


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ