From 5b32e6831c638a0bb8da46245141599cf45e4904 Mon Sep 17 00:00:00 2001 From: Gulshan Singh Date: Sun, 11 Dec 2022 00:14:14 -0800 Subject: [PATCH] Handle gdb-pt-dump permission error gracefully (#1426) --- pwndbg/gdblib/vmmap.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pwndbg/gdblib/vmmap.py b/pwndbg/gdblib/vmmap.py index ed43f6c6c..407409132 100644 --- a/pwndbg/gdblib/vmmap.py +++ b/pwndbg/gdblib/vmmap.py @@ -404,7 +404,17 @@ def kernel_vmmap_via_page_tables(): import pt p = pt.PageTableDump() - p.lazy_init() + try: + p.lazy_init() + except PermissionError: + print( + M.error( + "Permission error when attempting to parse page tables with gdb-pt-dump.\n" + + "Either change the kernel-vmmap setting, re-run GDB as root, or disable `ptrace_scope` (`echo 0 | sudo tee /proc/sys/kernel/yama`)" + ) + ) + return tuple([]) + pages = p.backend.parse_tables(p.cache, p.parser.parse_args("")) retpages = []