All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Gabriel Krisman Bertazi <krisman@collabora.com>
Cc: Kyle Huey <me@kylehuey.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andy Lutomirski <luto@kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	"Robert O'Callahan" <rocallahan@gmail.com>
Subject: Re: [PATCH] entry: Fix missed trap after single-step on system call return
Date: Wed, 3 Feb 2021 10:10:35 -0800	[thread overview]
Message-ID: <CAHk-=wjFV8j03vyvuY4qhKnJ6Vy2DLfjzgTJ1n+LO9EsVsJmDg@mail.gmail.com> (raw)
In-Reply-To: <87h7mtc9pr.fsf_-_@collabora.com>

On Wed, Feb 3, 2021 at 10:00 AM Gabriel Krisman Bertazi
<krisman@collabora.com> wrote:
>
> Does the patch below follows your suggestion?  I'm setting the
> SYSCALL_WORK shadowing TIF_SINGLESTEP every time, instead of only when
> the child is inside a system call.  Is this acceptable?

Looks sane to me.

My main worry would be about "what about the next system call"? It's
not what Kyle's case cares about, but let me just give an example:

 - task A traces task B, and starts single-stepping. Task B was *not*
in a system call at this point.

 - task B happily executes one instruction at a time, takes a TF
fault, everything is good

 - task B now does a system call. That will disable single-stepping
while in the kernel

 - task B returns from the system call. TF will be set in eflags, but
the first instruction *after* the system call will execute unless we
go through the system call exit path

So I think the tracer basically misses one instruction when single-stepping.

I think your patch works for this case (because the SYSCALL_EXIT_TRAP
flag stays set until single-stepping is done), so I think it's all
good. But can you verify, just to allay my worry?

         Linus

  reply	other threads:[~2021-02-03 18:11 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-31  1:32 [REGRESSION] x86/entry: TIF_SINGLESTEP handling is still broken Kyle Huey
2021-01-31  1:55 ` Linus Torvalds
2021-01-31  2:50   ` Kyle Huey
2021-01-31 18:54     ` Yuxuan Shui
2021-01-31 20:10       ` Linus Torvalds
2021-01-31 20:20         ` Gabriel Krisman Bertazi
2021-01-31 21:21           ` Linus Torvalds
2021-01-31 21:30     ` Linus Torvalds
2021-01-31 22:04       ` Andy Lutomirski
2021-01-31 22:08         ` Kyle Huey
2021-01-31 22:20           ` Andy Lutomirski
2021-01-31 22:27             ` Kyle Huey
2021-01-31 23:17               ` Kyle Huey
2021-01-31 23:35                 ` Linus Torvalds
2021-01-31 23:55                   ` Linus Torvalds
2021-02-03 18:00                     ` [PATCH] entry: Fix missed trap after single-step on system call return Gabriel Krisman Bertazi
2021-02-03 18:10                       ` Linus Torvalds [this message]
2021-02-03 18:18                         ` Andy Lutomirski
2021-02-03 18:22                           ` Linus Torvalds
2021-02-03 18:11                       ` Kyle Huey
2021-02-03 23:55                         ` Kyle Huey
2021-02-04 17:46                           ` Linus Torvalds
2021-02-05 23:24                       ` [tip: core/urgent] entry: Ensure " tip-bot2 for Gabriel Krisman Bertazi
2021-01-31 22:57             ` [REGRESSION] x86/entry: TIF_SINGLESTEP handling is still broken Linus Torvalds
2021-01-31 23:36               ` Andy Lutomirski
2021-01-31 23:39                 ` Kyle Huey
2021-01-31 23:40                   ` Andy Lutomirski
2021-02-01  2:25                     ` Robert O'Callahan

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='CAHk-=wjFV8j03vyvuY4qhKnJ6Vy2DLfjzgTJ1n+LO9EsVsJmDg@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=krisman@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=luto@kernel.org \
    --cc=me@kylehuey.com \
    --cc=rocallahan@gmail.com \
    --cc=tglx@linutronix.de \
    /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.