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]
Message-ID: <Y/Xl2/pfGYq5e89y@wendy>
Date:   Wed, 22 Feb 2023 09:52:27 +0000
From:   Conor Dooley <conor.dooley@...rochip.com>
To:     Song Shuai <suagrfillet@...il.com>
CC:     <jan.kiszka@...mens.com>, <kbingham@...nel.org>,
        <paul.walmsley@...ive.com>, <palmer@...belt.com>,
        <aou@...s.berkeley.edu>, <linux-kernel@...r.kernel.org>,
        <linux-riscv@...ts.infradead.org>, <akpm@...ux-foundation.org>
Subject: Re: [PATCH RESEND] scripts/gdb: add lx_current support for riscv

Hey Song

On Wed, Feb 22, 2023 at 05:37:30PM +0800, Song Shuai wrote:
> RISC-V uses the tp register to save the current task_struct address
> as its current() defines. So lx_current() of riscv just returns the
> dereference of the address cast via task_ptr_type.

FYI, there's already been some patches posted for this:
https://lore.kernel.org/all/mhng-bdcd75a5-e6d6-4090-8292-a32eb46e4464@palmer-ri-x1c9a/

That version already has review and ack tags from Palmer and others.
It seems to me that Andrew is the usual applier of patches for this
script, so I'm gonna add him to CC here so he is aware - but as it is
the middle of the merge window the best course of action might just be
reposting that patch, CCing Andrew, after v6.3-rc1.

Cheers,
Conor.

> 
> Signed-off-by: Song Shuai <suagrfillet@...il.com>
> ---
>  scripts/gdb/linux/cpus.py | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/scripts/gdb/linux/cpus.py b/scripts/gdb/linux/cpus.py
> index 15fc4626d236..6825a9834394 100644
> --- a/scripts/gdb/linux/cpus.py
> +++ b/scripts/gdb/linux/cpus.py
> @@ -173,6 +173,9 @@ def get_current_task(cpu):
>           else:
>               raise gdb.GdbError("Sorry, obtaining the current task is not allowed "
>                                  "while running in userspace(EL0)")
> +    elif utils.is_target_arch("riscv"):
> +         current_task_addr = gdb.parse_and_eval("$tp")
> +         return current_task_addr.cast(task_ptr_type).dereference()
>      else:
>          raise gdb.GdbError("Sorry, obtaining the current task is not yet "
>                             "supported with this arch")
> -- 
> 2.20.1
> 
> 

Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ