From: "tip-bot2 for Kairui Song" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Kairui Song <kasong@redhat.com>, Ingo Molnar <mingo@kernel.org>,
x86 <x86@kernel.org>, LKML <linux-kernel@vger.kernel.org>
Subject: [tip: x86/urgent] x86/kexec: Use up-to-dated screen_info copy to fill boot params
Date: Wed, 14 Oct 2020 15:43:20 -0000 [thread overview]
Message-ID: <160269020077.7002.6607120194042289745.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20201014092429.1415040-2-kasong@redhat.com>
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: afc18069a2cb7ead5f86623a5f3d4ad6e21f940d
Gitweb: https://git.kernel.org/tip/afc18069a2cb7ead5f86623a5f3d4ad6e21f940d
Author: Kairui Song <kasong@redhat.com>
AuthorDate: Wed, 14 Oct 2020 17:24:28 +08:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Wed, 14 Oct 2020 17:05:03 +02:00
x86/kexec: Use up-to-dated screen_info copy to fill boot params
kexec_file_load() currently reuses the old boot_params.screen_info,
but if drivers have change the hardware state, boot_param.screen_info
could contain invalid info.
For example, the video type might be no longer VGA, or the frame buffer
address might be changed. If the kexec kernel keeps using the old screen_info,
kexec'ed kernel may attempt to write to an invalid framebuffer
memory region.
There are two screen_info instances globally available, boot_params.screen_info
and screen_info. Later one is a copy, and is updated by drivers.
So let kexec_file_load use the updated copy.
[ mingo: Tidied up the changelog. ]
Signed-off-by: Kairui Song <kasong@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20201014092429.1415040-2-kasong@redhat.com
---
arch/x86/kernel/kexec-bzimage64.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
index 57c2ecf..ce831f9 100644
--- a/arch/x86/kernel/kexec-bzimage64.c
+++ b/arch/x86/kernel/kexec-bzimage64.c
@@ -200,8 +200,7 @@ setup_boot_parameters(struct kimage *image, struct boot_params *params,
params->hdr.hardware_subarch = boot_params.hdr.hardware_subarch;
/* Copying screen_info will do? */
- memcpy(¶ms->screen_info, &boot_params.screen_info,
- sizeof(struct screen_info));
+ memcpy(¶ms->screen_info, &screen_info, sizeof(struct screen_info));
/* Fill in memsize later */
params->screen_info.ext_mem_k = 0;
next prev parent reply other threads:[~2020-10-14 15:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-14 9:24 [PATCH 0/2] x86/hyperv: fix kexec/kdump hang on some VMs Kairui Song
2020-10-14 9:24 ` [PATCH 1/2] x86/kexec: Use up-to-dated screen_info copy to fill boot params Kairui Song
2020-10-14 15:43 ` tip-bot2 for Kairui Song [this message]
2020-10-27 20:07 ` [tip: x86/urgent] " Thomas Gleixner
2020-11-17 3:39 ` [PATCH 1/2] " Dexuan Cui
2020-11-25 23:39 ` Dexuan Cui
2020-10-14 9:24 ` [PATCH 2/2] hyperv_fb: Update screen_info after removing old framebuffer Kairui Song
2020-10-14 15:43 ` [tip: x86/urgent] " tip-bot2 for Kairui Song
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=160269020077.7002.6607120194042289745.tip-bot2@tip-bot2 \
--to=tip-bot2@linutronix.de \
--cc=kasong@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®