[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211021070929.23272-1-rppt@kernel.org>
Date: Thu, 21 Oct 2021 10:09:27 +0300
From: Mike Rapoport <rppt@...nel.org>
To: linux-mm@...ck.org
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Catalin Marinas <catalin.marinas@....com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Mike Rapoport <rppt@...nel.org>,
Mike Rapoport <rppt@...ux.ibm.com>,
Qian Cai <quic_qiancai@...cinc.com>,
Vladimir Zapolskiy <vladimir.zapolskiy@...aro.org>,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 0/2] memblock: exclude MEMBLOCK_NOMAP regions from kmemleak
From: Mike Rapoport <rppt@...ux.ibm.com>
Hi,
This is take 2 to fix interaction between MEMBLOCK_NOMAP and kmemleak.
The previous version caused boot failures Qian Cai reported here:
https://lore.kernel.org/all/c30ff0a2-d196-c50d-22f0-bd50696b1205@quicinc.com
The failures happened because calling kmemleak_free_part_phys() (or any
kmemleak phys APIs for that matter) too early means it cannot use __va() on
arm64.
This late in the cycle I can only think of reverting kmemleak wavier from
memblock_mark_nomap() and putting it in the only two callers that set
MEMBLOCK_NOMAP to an allocated chunk rather than marking NOMAP "unusable"
memory reported by firmware.
The first patch here is the revert of v1 and the second patch is actual v2
implementation.
Vladimir and Qian, I'd appreciate if you could verify that v2 works for
you.
v2:
* move kmemleak waiver from memblock_mark_nomap() to callers that need it
* use kmemleak_ignore_phys() rather than kmemleak_free_part_phys() as
Catalin suggested.
v1: https://lore.kernel.org/all/20211013054756.12177-1-rppt@kernel.org
Mike Rapoport (2):
Revert "memblock: exclude NOMAP regions from kmemleak"
memblock: exclude MEMBLOCK_NOMAP regions from kmemleak
drivers/acpi/tables.c | 3 +++
drivers/of/of_reserved_mem.c | 2 ++
mm/memblock.c | 10 ++++------
3 files changed, 9 insertions(+), 6 deletions(-)
base-commit: 519d81956ee277b4419c723adfb154603c2565ba
--
2.28.0
Powered by blists - more mailing lists