From: Benjamin Gray <bgray@linux.ibm.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Benjamin Gray <bgray@linux.ibm.com>
Subject: [PATCH 0/7] Rework perf and ptrace watchpoint tracking
Date: Tue, 1 Aug 2023 11:17:37 +1000 [thread overview]
Message-ID: <20230801011744.153973-1-bgray@linux.ibm.com> (raw)
Syzkaller triggered a null pointer dereference in the
arch_unregister_hw_breakpoint() hook. This is due to accessing
the bp->ctx->task field changing to -1 while we iterate the breakpoints.
This series refactors the breakpoint tracking logic to remove the
dependency on bp->ctx entirely. It also simplifies handling of ptrace and
perf breakpoints, making insertion less restrictive.
If merged, it allows several arch hooks that PowerPC was the sole user of
to be removed.
Benjamin Gray (7):
powerpc/watchpoints: Explain thread_change_pc() more
powerpc/watchpoints: Don't track info persistently
powerpc/watchpoints: Track perf single step directly on the breakpoint
powerpc/watchpoints: Simplify watchpoint reinsertion
powerpc/watchpoints: Remove ptrace/perf exclusion tracking
selftests/powerpc/ptrace: Update ptrace-perf watchpoint selftest
perf/hw_breakpoint: Remove arch breakpoint hooks
arch/powerpc/include/asm/hw_breakpoint.h | 1 +
arch/powerpc/include/asm/processor.h | 5 -
arch/powerpc/kernel/hw_breakpoint.c | 388 +-----
include/linux/hw_breakpoint.h | 3 -
kernel/events/hw_breakpoint.c | 28 -
.../testing/selftests/powerpc/ptrace/Makefile | 1 +
.../powerpc/ptrace/ptrace-perf-asm.S | 33 +
.../powerpc/ptrace/ptrace-perf-hwbreak.c | 1104 +++++++----------
8 files changed, 537 insertions(+), 1026 deletions(-)
create mode 100644 tools/testing/selftests/powerpc/ptrace/ptrace-perf-asm.S
rewrite tools/testing/selftests/powerpc/ptrace/ptrace-perf-hwbreak.c (93%)
--
2.41.0
next reply other threads:[~2023-08-01 1:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-01 1:17 Benjamin Gray [this message]
2023-08-01 1:17 ` [PATCH 1/7] powerpc/watchpoints: Explain thread_change_pc() more Benjamin Gray
2023-08-01 1:17 ` [PATCH 2/7] powerpc/watchpoints: Don't track info persistently Benjamin Gray
2023-08-01 1:17 ` [PATCH 3/7] powerpc/watchpoints: Track perf single step directly on the breakpoint Benjamin Gray
2023-08-01 1:17 ` [PATCH 4/7] powerpc/watchpoints: Simplify watchpoint reinsertion Benjamin Gray
2023-08-01 1:17 ` [PATCH 5/7] powerpc/watchpoints: Remove ptrace/perf exclusion tracking Benjamin Gray
2023-08-01 1:17 ` [PATCH 6/7] selftests/powerpc/ptrace: Update ptrace-perf watchpoint selftest Benjamin Gray
2023-08-01 1:17 ` [PATCH 7/7] perf/hw_breakpoint: Remove arch breakpoint hooks Benjamin Gray
2023-08-01 9:50 ` [PATCH 0/7] Rework perf and ptrace watchpoint tracking Christophe Leroy
2023-08-02 12:00 ` Michael Ellerman
2023-08-23 11:55 ` Michael Ellerman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230801011744.153973-1-bgray@linux.ibm.com \
--to=bgray@linux.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).