linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "tip-bot2 for Mark Mossberg" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Mark Mossberg <mark.mossberg@gmail.com>,
	Borislav Petkov <bp@suse.de>, x86 <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: [tip: x86/core] x86/dumpstack: Fix misleading instruction pointer error message
Date: Fri, 02 Oct 2020 10:26:45 -0000	[thread overview]
Message-ID: <160163440548.7002.940529565709906799.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20201002042915.403558-1-mark.mossberg@gmail.com>

The following commit has been merged into the x86/core branch of tip:

Commit-ID:     238c91115cd05c71447ea071624a4c9fe661f970
Gitweb:        https://git.kernel.org/tip/238c91115cd05c71447ea071624a4c9fe661f970
Author:        Mark Mossberg <mark.mossberg@gmail.com>
AuthorDate:    Fri, 02 Oct 2020 04:29:16 
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Fri, 02 Oct 2020 11:33:55 +02:00

x86/dumpstack: Fix misleading instruction pointer error message

Printing "Bad RIP value" if copy_code() fails can be misleading for
userspace pointers, since copy_code() can fail if the instruction
pointer is valid but the code is paged out. This is because copy_code()
calls copy_from_user_nmi() for userspace pointers, which disables page
fault handling.

This is reproducible in OOM situations, where it's plausible that the
code may be reclaimed in the time between entry into the kernel and when
this message is printed. This leaves a misleading log in dmesg that
suggests instruction pointer corruption has occurred, which may alarm
users.

Change the message to state the error condition more precisely.

 [ bp: Massage a bit. ]

Signed-off-by: Mark Mossberg <mark.mossberg@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20201002042915.403558-1-mark.mossberg@gmail.com
---
 arch/x86/kernel/dumpstack.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index 48ce445..ea8d51e 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -115,7 +115,8 @@ void show_opcodes(struct pt_regs *regs, const char *loglvl)
 	unsigned long prologue = regs->ip - PROLOGUE_SIZE;
 
 	if (copy_code(regs, opcodes, prologue, sizeof(opcodes))) {
-		printk("%sCode: Bad RIP value.\n", loglvl);
+		printk("%sCode: Unable to access opcode bytes at RIP 0x%lx.\n",
+		       loglvl, prologue);
 	} else {
 		printk("%sCode: %" __stringify(PROLOGUE_SIZE) "ph <%02x> %"
 		       __stringify(EPILOGUE_SIZE) "ph\n", loglvl, opcodes,

  reply	other threads:[~2020-10-02 10:26 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-02  4:29 [PATCH v2] x86/dumpstack: Fix misleading instruction pointer error message Mark Mossberg
2020-10-02 10:26 ` tip-bot2 for Mark Mossberg [this message]
2020-11-03 12:50 ` Oleg Nesterov
2020-11-03 17:15   ` Borislav Petkov
2020-11-03 17:47     ` Oleg Nesterov
2020-11-03 17:52       ` Borislav Petkov
2020-11-03 18:11         ` Oleg Nesterov
2020-11-03 18:20           ` Borislav Petkov
2020-11-16 22:01             ` Thomas Gleixner
2020-11-16 23:04               ` Andy Lutomirski
2020-11-16 23:37                 ` Thomas Gleixner
2020-11-17  3:29                   ` Andy Lutomirski
2020-11-17  9:54               ` Borislav Petkov
2020-11-17 17:31               ` Oleg Nesterov

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=160163440548.7002.940529565709906799.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=bp@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mark.mossberg@gmail.com \
    --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 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).