All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yuxuan Shui <yshuiv7@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Andy Lutomirski <luto@kernel.org>,
	Gabriel Krisman Bertazi <krisman@collabora.com>,
	open list <linux-kernel@vger.kernel.org>,
	"Robert O'Callahan" <rocallahan@gmail.com>,
	Kyle Huey <me@kylehuey.com>
Subject: Re: [REGRESSION] x86/entry: TIF_SINGLESTEP handling is still broken
Date: Sun, 31 Jan 2021 18:54:35 +0000	[thread overview]
Message-ID: <87v9bdc4yc.fsf@m5Zedd9JOGzJrf0> (raw)
In-Reply-To: <CAP045ApxLJ7vXOVp5Cwx7WEyDr6v01D9YD3xGFDv3WAp6czaMQ@mail.gmail.com>


I didn't understand Kyle's point at first, so I asked for clarification
and will record my understanding below for posterity.

ARCH_SYSCALL_EXIT_WORK was a flag that was checked by various functions
(via SYSCALL_EXIT_WORK) before calling syscall_exit_work, which is what
reports single steps. This flag was supposed to be overridden by
architecture specific definitions. And indeed, x86 overrides it, to
TIF_SINGLESTEP.

However, commit 2991552447707d791d9d81a5dc161f9e9e90b163 renamed
ARCH_SYSCALL_EXIT_WORK to ARCH_SYSCALL_WORK_EXIT, thus x86's definition
no longer override it.  Looks like there was an oversight the definition
in x86 wasn't updated.

But renaming the definition in x86 is not enough, as TIF_SINGLESTEP is
set in current_thread_info()->flags, and the same commit has removed the
code that checks those flags. We have to also migrate TIF_SINGLESTEP from
thread info flags to syscall work flags, to make the whole thing work again.



  reply	other threads:[~2021-01-31 20:25 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 [this message]
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
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=87v9bdc4yc.fsf@m5Zedd9JOGzJrf0 \
    --to=yshuiv7@gmail.com \
    --cc=krisman@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=me@kylehuey.com \
    --cc=rocallahan@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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.