[Bug 2012509] Re: unable to fetch pauth registers: Invalid argument.
Heinrich Schuchardt
2012509 at bugs.launchpad.net
Thu Mar 23 13:51:19 UTC 2023
The problem to read the pauth registers is reproducible with a simple C
program:
#define _GNU_SOURCE
#include <elf.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/ptrace.h>
#include <sys/uio.h>
#include <sys/wait.h>
#include <unistd.h>
#define LEN 16384
int main()
{
long ret;
struct iovec iovec;
pid_t pid;
pid = fork();
if (!pid) {
sleep(1);
return 0;
}
ret = ptrace(PTRACE_ATTACH, pid, NULL, NULL);
if (ret == -1) {
perror("PTRACE_ATTACH failed");
return 1;
}
iovec.iov_base = malloc(LEN);
iovec.iov_len = LEN;
wait(NULL);
// ret = ptrace (PTRACE_GETREGSET, pid, NT_PRSTATUS, &iovec);
ret = ptrace (PTRACE_GETREGSET, pid, NT_ARM_PAC_MASK, &iovec);
if (ret == -1) {
perror("PTRACE_GETREGSET");
return 1;
}
printf("PTRACE_GETREGSET succeeded\n");
return 0;
}
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gdb in Ubuntu.
https://bugs.launchpad.net/bugs/2012509
Title:
unable to fetch pauth registers: Invalid argument.
Status in gdb package in Ubuntu:
New
Bug description:
I am running Ubuntu Lunar on an arm64 Lenovo X13s using the kernel
6.2.0-1003-laptop from ppa:ubuntu-concept/x13s. The kernel is
configured with CONFIG_ARM64_PTR_AUTH=y.
Debugging a trivial hello world program fails:
GNU gdb (Ubuntu 13.1-2ubuntu2) 13.1
Reading symbols from ./test...
(gdb) r
Starting program: /home/user/temp/test
unable to fetch pauth registers: Invalid argument.
The message relates to this statement:
gdb/aarch64-linux-nat.c:371:
ret = ptrace (PTRACE_GETREGSET, tid, NT_ARM_PAC_MASK, &iovec);
When using
set tdesc filename target.xml
with a target.xml file without the org.gnu.gdb.aarch64.pauth feature
debugging works fine.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/2012509/+subscriptions
More information about the foundations-bugs
mailing list