All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Jinjie Ruan" <ruanjinjie@huawei.com>,
	catalin.marinas@arm.com, will@kernel.org, mark.rutland@arm.com,
	chenhuacai@kernel.org, kernel@xen0n.name, maddy@linux.ibm.com,
	mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org,
	ritesh.list@gmail.com, sshegde@linux.ibm.com, pjw@kernel.org,
	palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr,
	tglx@kernel.org, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, hpa@zytor.com,
	akpm@linux-foundation.org, baoquan.he@linux.dev, rppt@kernel.org,
	pasha.tatashin@soleen.com, pratyush@kernel.org, thuth@redhat.com,
	leitao@debian.org, yeoreum.yun@arm.com, robh@kernel.org,
	sourabhjain@linux.ibm.com, kees@kernel.org, coiby.xu@gmail.com,
	Yeking@Red54.com, tangyouling@kylinos.cn, maqianga@uniontech.com,
	zhangtianyang@loongson.cn, guodongtai@kylinos.cn,
	blum@kernel.org, adityag@linux.ibm.com, hui.wang@canonical.com,
	sohammetha01@gmail.com, guoren@kernel.org, gaohan@iscas.ac.cn,
	kai.huang@intel.com, kas@kernel.org, vishal.l.verma@intel.co m,
	piliu@redhat.com, jbouron@amazon.com, mclapinski@google.com,
	me@linux.beauty, graf@amazon.com, bgwin@google.com,
	x86@kernel.org, kexec@lists.infradead.org
Subject: Re: [PATCH v7 01/15] arm64: kexec_file: Stop using the Image text_offset
Date: Mon, 26 Oct 2026 09:32:26 +0000	[thread overview]
Message-ID: <sashiko-outbox-184799@kernel.org> (raw)
In-Reply-To: <20261026075201.699550-2-ruanjinjie@huawei.com>

> image_load() adds text_offset to kernel_segment->mem and subtracts it
> from kernel_segment->memsz.  For CMA backed segments this breaks the
> load path: the payload is copied to page_address(cma), which is the CMA
> base, while image->start is set to the adjusted address, so kexec jumps
> into the middle of the kernel.  kimage_map_segment() has the same
> mismatch when a segment has been moved.
> 
> The adjusted memsz also breaks the release path: the CMA pages are
> freed using segment->memsz >> PAGE_SHIFT, which is fewer than were
> allocated, leaking the tail of the allocation.
> 
> Since commit 751c263bb74f ("arm64: remove TEXT_OFFSET randomization")
> TEXT_OFFSET is always zero.  This has been upstream since v5.8, so no
> LTS kernel carries a non-zero text_offset.  Drop the adjustment and
> reject images with a non-zero value instead of booting them from a
> wrong address.  With the adjustment gone, segments stay at their CMA
> base and the release size matches the allocation.
> 
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: Mike Rapoport <rppt@kernel.org>
> Link: https://lore.kernel.org/all/20260921090450.807575-2-ruanjinjie@huawei.com/
> Link: https://lore.kernel.org/all/20260921090450.807575-3-ruanjinjie@huawei.com/
> Fixes: 07d24902977e ("kexec: enable CMA based contiguous allocation")
> Suggested-by: Mike Rapoport <rppt@kernel.org>
> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>

Sashiko has reviewed this patch and found no issues.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261026075201.699550-1-ruanjinjie@huawei.com?part=1



  reply	other threads:[~2026-10-26  9:32 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-26  7:51 [PATCH v7 00/15] kexec: Fix CMA and elf header leaks and rework Jinjie Ruan
2026-10-26  7:51 ` Jinjie Ruan
2026-10-26  7:51 ` [PATCH v7 01/15] arm64: kexec_file: Stop using the Image text_offset Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26  9:32   ` sashiko-bot [this message]
2026-10-26  7:51 ` [PATCH v7 02/15] kexec: Extract kexec_free_segment_cma() from kimage_free_cma() Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26  9:41   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 03/15] arm64: kexec_file: Fix CMA page leaks in segment placement retry loops Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26  9:53   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 04/15] arm64: kexec_file: Fix elf_headers memory leak in retry loop Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:00   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 05/15] LoongArch: kexec_file: Fix CMA page leaks in segment placement retry loops Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:13   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 06/15] LoongArch: kexec_file: Fix elf_headers memory leak in retry loop Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:21   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 07/15] LoongArch: kexec_file: Fix a modified_cmdline leak Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:28   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 08/15] arm64: kexec_file: Simplify load_other_segments() Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:32   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 09/15] LoongArch: " Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:40   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 10/15] riscv: kexec_file: Simplify load_extra_segments() Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:42   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 11/15] kexec: Free the elf core header in kimage_file_post_load_cleanup() Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:47   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 12/15] kexec: Add kexec_load_other_segments() helper Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 10:56   ` sashiko-bot
2026-10-26  7:51 ` [PATCH v7 13/15] arm64: kexec_file: Use kexec_load_other_segments() to simplify code Jinjie Ruan
2026-10-26  7:51   ` Jinjie Ruan
2026-10-26 11:01   ` sashiko-bot
2026-10-26  7:52 ` [PATCH v7 14/15] LoongArch: " Jinjie Ruan
2026-10-26  7:52   ` Jinjie Ruan
2026-10-26 11:12   ` sashiko-bot
2026-10-26  7:52 ` [PATCH v7 15/15] riscv: " Jinjie Ruan
2026-10-26  7:52   ` Jinjie Ruan
2026-10-26 11:21   ` sashiko-bot

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=sashiko-outbox-184799@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=Yeking@Red54.com \
    --cc=adityag@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex@ghiti.fr \
    --cc=aou@eecs.berkeley.edu \
    --cc=baoquan.he@linux.dev \
    --cc=blum@kernel.org \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=chenhuacai@kernel.org \
    --cc=chleroy@kernel.org \
    --cc=coiby.xu@gmail.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=gaohan@iscas.ac.cn \
    --cc=guodongtai@kylinos.cn \
    --cc=guoren@kernel.org \
    --cc=hpa@zytor.com \
    --cc=hui.wang@canonical.com \
    --cc=kai.huang@intel.com \
    --cc=kas@kernel.org \
    --cc=kees@kernel.org \
    --cc=kernel@xen0n.name \
    --cc=leitao@debian.org \
    --cc=maddy@linux.ibm.com \
    --cc=maqianga@uniontech.com \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=palmer@dabbelt.com \
    --cc=pasha.tatashin@soleen.com \
    --cc=pjw@kernel.org \
    --cc=pratyush@kernel.org \
    --cc=ritesh.list@gmail.com \
    --cc=robh@kernel.org \
    --cc=rppt@kernel.org \
    --cc=ruanjinjie@huawei.com \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=sohammetha01@gmail.com \
    --cc=sourabhjain@linux.ibm.com \
    --cc=sshegde@linux.ibm.com \
    --cc=tangyouling@kylinos.cn \
    --cc=tglx@kernel.org \
    --cc=thuth@redhat.com \
    --cc=vishal.l.verma@intel.co \
    --cc=will@kernel.org \
    --cc=yeoreum.yun@arm.com \
    --cc=zhangtianyang@loongson.cn \
    /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.