From: Florian Weimer <fweimer@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
linux-kernel@vger.kernel.org,
linux-trace-kernel@vger.kernel.org, bpf@vger.kernel.org,
x86@kernel.org, Masami Hiramatsu <mhiramat@kernel.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Josh Poimboeuf <jpoimboe@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Andrii Nakryiko <andrii@kernel.org>,
Indu Bhagat <indu.bhagat@oracle.com>,
"Jose E. Marchesi" <jemarch@gnu.org>,
Beau Belgrave <beaub@linux.microsoft.com>,
Jens Remus <jremus@linux.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
Jens Axboe <axboe@kernel.dk>
Subject: Re: [PATCH v12 02/14] unwind_user: Add frame pointer support
Date: Tue, 01 Jul 2025 06:46:14 +0200 [thread overview]
Message-ID: <87tt3wikmh.fsf@oldenburg.str.redhat.com> (raw)
In-Reply-To: <CAHk-=wiWOYB4c3E-Cc=D89j0txbN4AGqm0j1dojqHq3uzJ+LqQ@mail.gmail.com> (Linus Torvalds's message of "Mon, 30 Jun 2025 19:10:09 -0700")
* Linus Torvalds:
> On Mon, 30 Jun 2025 at 17:54, Steven Rostedt <rostedt@goodmis.org> wrote:
>>
>> + /* stack going in wrong direction? */
>> + if (cfa <= state->sp)
>> + goto done;
>
> I suspect this should do a lot more testing.
>
>> + /* Find the Return Address (RA) */
>> + if (get_user(ra, (unsigned long *)(cfa + frame->ra_off)))
>> + goto done;
>> +
>> + if (frame->fp_off && get_user(fp, (unsigned long __user *)(cfa + frame->fp_off)))
>> + goto done;
>
> .. and this should check the frame for validity too. At a minimum it
> should be properly aligned, but things like "it had better be above
> the current frame" to avoid having some loop would seem to be a good
> idea.
I don't think SFrame as-is requires stacks to be contiguous. Maybe
there could be a per-frame flag that indicates whether a stack switch is
expected?
Thanks,
Florian
next prev parent reply other threads:[~2025-07-01 4:46 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-01 0:53 [PATCH v12 00/14] unwind_user: x86: Deferred unwinding infrastructure Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 01/14] unwind_user: Add user space unwinding API Steven Rostedt
2025-07-04 17:58 ` Mathieu Desnoyers
2025-07-04 18:20 ` Mathieu Desnoyers
2025-07-07 19:42 ` Steven Rostedt
2025-07-07 21:01 ` Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 02/14] unwind_user: Add frame pointer support Steven Rostedt
2025-07-01 2:10 ` Linus Torvalds
2025-07-01 2:56 ` Steven Rostedt
2025-07-01 3:05 ` Steven Rostedt
2025-07-01 15:36 ` Jens Remus
2025-07-02 23:50 ` Steven Rostedt
2025-07-03 16:21 ` Jens Remus
2025-07-07 21:28 ` Steven Rostedt
2025-07-01 4:46 ` Florian Weimer [this message]
2025-07-01 12:14 ` Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 03/14] unwind_user: Add compat mode " Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 04/14] unwind_user/deferred: Add unwind_user_faultable() Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 05/14] unwind_user/deferred: Add unwind cache Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 06/14] unwind_user/deferred: Add deferred unwinding interface Steven Rostedt
2025-07-02 16:36 ` Peter Zijlstra
2025-07-02 16:42 ` Steven Rostedt
2025-07-02 16:56 ` Linus Torvalds
2025-07-02 17:26 ` Steven Rostedt
2025-07-02 17:48 ` Steven Rostedt
2025-07-02 18:21 ` Linus Torvalds
2025-07-02 18:47 ` Mathieu Desnoyers
2025-07-02 19:05 ` Steven Rostedt
2025-07-02 19:12 ` Mathieu Desnoyers
2025-07-02 19:21 ` Steven Rostedt
2025-07-02 19:36 ` Steven Rostedt
2025-07-02 19:40 ` Steven Rostedt
2025-07-02 19:48 ` Mathieu Desnoyers
2025-07-02 20:10 ` Steven Rostedt
2025-07-02 19:43 ` Mathieu Desnoyers
2025-07-02 19:51 ` Steven Rostedt
2025-07-02 18:57 ` Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 07/14] unwind_user/deferred: Make unwind deferral requests NMI-safe Steven Rostedt
2025-07-02 15:53 ` Jens Remus
2025-07-02 19:11 ` Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 08/14] unwind deferred: Use bitmask to determine which callbacks to call Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 09/14] unwind deferred: Use SRCU unwind_deferred_task_work() Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 10/14] unwind: Clear unwind_mask on exit back to user space Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 11/14] unwind: Add USED bit to only have one conditional on way " Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 12/14] unwind: Finish up unwind when a task exits Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 13/14] unwind_user/x86: Enable frame pointer unwinding on x86 Steven Rostedt
2025-07-01 0:53 ` [PATCH v12 14/14] unwind_user/x86: Enable compat mode " Steven Rostedt
2025-07-01 2:06 ` [PATCH v12 00/14] unwind_user: x86: Deferred unwinding infrastructure Linus Torvalds
2025-07-01 2:45 ` Steven Rostedt
2025-07-01 22:49 ` Kees Cook
2025-07-01 23:26 ` Steven Rostedt
2025-07-02 14:56 ` Kees Cook
2025-07-02 16:20 ` Mathieu Desnoyers
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=87tt3wikmh.fsf@oldenburg.str.redhat.com \
--to=fweimer@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=andrii@kernel.org \
--cc=axboe@kernel.dk \
--cc=beaub@linux.microsoft.com \
--cc=bpf@vger.kernel.org \
--cc=indu.bhagat@oracle.com \
--cc=jemarch@gnu.org \
--cc=jolsa@kernel.org \
--cc=jpoimboe@kernel.org \
--cc=jremus@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.