]> git.baikalelectronics.ru Git - kernel.git/commit
memblock: exclude NOMAP regions from kmemleak
authorMike Rapoport <rppt@linux.ibm.com>
Wed, 13 Oct 2021 05:36:59 +0000 (08:36 +0300)
committerMike Rapoport <rppt@linux.ibm.com>
Wed, 13 Oct 2021 05:36:59 +0000 (08:36 +0300)
commit58a799f7e3e0904fa69a960f3c817c5888ab2f17
tree771a6f21715b8d11bb382c5f5f2925e58f37d847
parent9ca0986666178f71c70ba0652ce4f64d53ea42de
memblock: exclude NOMAP regions from kmemleak

Vladimir Zapolskiy reports:

commit 67a62a470b3c ("memblock: make memblock_find_in_range method private")
invokes a kernel panic while running kmemleak on OF platforms with nomaped
regions:

  Unable to handle kernel paging request at virtual address fff000021e00000
  [...]
    scan_block+0x64/0x170
    scan_gray_list+0xe8/0x17c
    kmemleak_scan+0x270/0x514
    kmemleak_write+0x34c/0x4ac

Indeed, NOMAP regions don't have linear map entries so an attempt to scan
these areas would fault.

Prevent such faults by excluding NOMAP regions from kmemleak.

Link: https://lore.kernel.org/all/8ade5174-b143-d621-8c8e-dc6a1898c6fb@linaro.org
Fixes: 67a62a470b3c ("memblock: make memblock_find_in_range method private")
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Tested-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
mm/memblock.c