All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Lobakin <alexandr.lobakin@intel.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>
Cc: Alexander Lobakin <alexandr.lobakin@intel.com>,
	Jiri Slaby <jirislaby@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Tony Luck <tony.luck@intel.com>,
	Kees Cook <keescook@chromium.org>,
	Masahiro Yamada <masahiroy@kernel.org>,
	x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3 0/2] x86/boot: fix relying on link order
Date: Mon,  9 Jan 2023 18:04:01 +0100	[thread overview]
Message-ID: <20230109170403.4117105-1-alexandr.lobakin@intel.com> (raw)

Currently, the x86 decompressor code expects the kernel entry point to be
exactly at the beginning of the kernel image. It's always been true, but
is hacky in multiple ways: special .head.text section and linking certain
object files first to have them at the beginning.
Make the code independent from the link order and then kill the latter.
The former is to be resolved a bit later.

I didn't put any "Fixes:" tag since it's not linear. The lines changed
with 0001 came from the initial x86 KASLR series, but that unconditional
jump to the kernel beginning already was there. It goes at least from the
set that brought relocatable kernel support to x86, but this is quite
prehistoric already and might not look really relatable.

Alexander Lobakin (2):
  x86/boot: robustify calling startup_{32,64}() from the decompressor
    code
  scripts/head-object-list: remove x86 from the list

 arch/x86/boot/compressed/head_32.S |  2 +-
 arch/x86/boot/compressed/head_64.S |  2 +-
 arch/x86/boot/compressed/misc.c    | 18 +++++++++++-------
 scripts/head-object-list.txt       |  6 ------
 4 files changed, 13 insertions(+), 15 deletions(-)

---
From v2[0]:
 * rebase on top of 6.2;
 * prettify debug entry point print.

From v1[1]:
 * collect the Tested-by tags (Jiri);
 * don't add pathetic returns after noreturn error() (Jiri);
 * debug-print the entry point offset via debug_putaddr() before
   booting (Jiri);
 * always have an empty line before return statements (Jiri). 

[0] https://lore.kernel.org/all/20221101161529.1634188-1-alexandr.lobakin@intel.com
[1] https://lore.kernel.org/all/20221031151047.167288-1-alexandr.lobakin@intel.com
-- 
2.39.0


             reply	other threads:[~2023-01-09 17:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-09 17:04 Alexander Lobakin [this message]
2023-01-09 17:04 ` [PATCH v3 1/2] x86/boot: robustify calling startup_{32,64}() from the decompressor code Alexander Lobakin
2023-01-09 18:22   ` [tip: x86/boot] x86/boot: Robustify " tip-bot2 for Alexander Lobakin
2023-01-09 17:04 ` [PATCH v3 2/2] scripts/head-object-list: remove x86 from the list Alexander Lobakin
2023-01-09 18:22   ` [tip: x86/boot] scripts/head-object-list: Remove " tip-bot2 for Alexander Lobakin
2023-01-09 17:23 ` [PATCH v3 0/2] x86/boot: fix relying on link order Ingo Molnar

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=20230109170403.4117105-1-alexandr.lobakin@intel.com \
    --to=alexandr.lobakin@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=jirislaby@kernel.org \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.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 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.