On Tue, Sep 24, 2024 at 11:42 AM <devel-requ...@lists.crash-utility.osci.io>
wrote:

> Date: Tue, 24 Sep 2024 11:32:47 +1200
> From: Tao Liu <l...@redhat.com>
> Subject: [Crash-utility] Re: [PATCH] X86 64: fix the method for
>         determining whether to enable kalsr
> To: 1127955...@qq.com
> Cc: devel@lists.crash-utility.osci.io, Zach Wade
>         <zachwad...@gmail.com>
> Message-ID:
>         <CAO7dBbWEmV29R-KJeoJ6=
> nq0u3eba6ua-qyoaa20h4pe9q+...@mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Hi XingYang,
>
> On Sun, Sep 22, 2024 at 5:16 AM <1127955...@qq.com> wrote:
> >
> > From: Li XingYang <1127955...@qq.com>
> >
> > The recently commit 6752571d8d78 fixed the issue where linux kernel with
> > 223b5e57d0d5 ("mm/execmem, arch: convert remaining overrides of
> module_alloc to execmem")
> > could not load crash, but it did not work in the following two
> situations:
> > 1: Kernel enables KASAN
> > 2: The kernel set CONFIG_RANDOMIZE_BASE but not set
> CONFIG_RANDOMIZE_MEMORY
> >
> > crash: seek error: kernel virtual address: ffffffff826bb418  type:
> "page_offset_base"
> >
>
> Thanks for the fix, looking good to me, ack.
>
>
Applied:
https://github.com/crash-utility/crash/commit/7b5c8bca7d05b72b252756ff9023f342ddf87b31

Thanks
Lianbo


> Thanks,
> Tao Liu
>
> > In both cases, kaslr_regions will not be exported in /proc/kallsyms,
> > but kaslr_get_random_long will still be exported in /proc/kallsyms.
> > So use kaslr_get_random_long instead of kaslr_degions
> > Determine whether to enable kalsr
> >
> > Signed-off-by: Li XingYang <1127955...@qq.com>
> > Signed-off-by: Zach Wade <zachwad...@gmail.com>
> > ---
> >  symbols.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/symbols.c b/symbols.c
> > index 69a1fbb..02359a4 100644
> > --- a/symbols.c
> > +++ b/symbols.c
> > @@ -619,7 +619,7 @@ strip_symbol_end(const char *name, char *buf)
> >   *  or in /proc/kallsyms on a live system.
> >   *
> >   *  Setting KASLR_CHECK will trigger a search for "module_load_offset"
> > - *  or "kaslr_regions" during the initial symbol sort operation, and
> > + *  or "kaslr_get_random_long" during the initial symbol sort
> operation, and
> >   *  if found, will set (RELOC_AUTO|KASLR).  On live systems, the search
> >   *  is done here by checking /proc/kallsyms.
> >   */
> > @@ -646,7 +646,7 @@ kaslr_init(void)
> >                 st->_stext_vmlinux = UNINITIALIZED;
> >
> >         if (ACTIVE() &&   /* Linux 3.15 */
> > -           ((symbol_value_from_proc_kallsyms("kaslr_regions") !=
> BADVAL) ||
> > +           ((symbol_value_from_proc_kallsyms("kaslr_get_random_long")
> != BADVAL) ||
> >             (symbol_value_from_proc_kallsyms("module_load_offset") !=
> BADVAL))) {
> >                 kt->flags2 |= (RELOC_AUTO|KASLR);
> >                 st->_stext_vmlinux = UNINITIALIZED;
> > @@ -14253,8 +14253,8 @@ numeric_forward(const void *P_x, const void *P_y)
> >                         st->_stext_vmlinux = valueof(y);
> >         }
> >         if (kt->flags2 & KASLR_CHECK) {
> > -               if (STREQ(x->name, "kaslr_regions") ||
> > -                   STREQ(y->name, "kaslr_regions") ||
> > +               if (STREQ(x->name, "kaslr_get_random_long") ||
> > +                   STREQ(y->name, "kaslr_get_random_long") ||
> >                     STREQ(x->name, "module_load_offset") ||
> >                     STREQ(y->name, "module_load_offset")) {
> >                         kt->flags2 &= ~KASLR_CHECK;
> > --
> > 2.46.1
> >
>
--
Crash-utility mailing list -- devel@lists.crash-utility.osci.io
To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki

Reply via email to