* Linus Torvalds: > On Mon, 30 Jun 2025 at 17:54, Steven Rostedt <rost...@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