CVE-2022-50631

RISC-V: kexec: Fix memory leak of fdt buffer

published December 8, 2025

CVSS
—
EPSS
0%
Percentile
8.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

RISC-V: kexec: Fix memory leak of fdt buffer

This is reported by kmemleak detector:

unreferenced object 0xff60000082864000 (size 9588):

comm "kexec", pid 146, jiffies 4294900634 (age 64.788s)

hex dump (first 32 bytes):

d0 0d fe ed 00 00 12 ed 00 00 00 48 00 00 11 40 ...........H...@

00 00 00 28 00 00 00 11 00 00 00 02 00 00 00 00 ...(............

backtrace:

[<00000000f95b17c4>] kmemleak_alloc+0x34/0x3e

[<00000000b9ec8e3e>] kmalloc_order+0x9c/0xc4

[<00000000a95cf02e>] kmalloc_order_trace+0x34/0xb6

[<00000000f01e68b4>] __kmalloc+0x5c2/0x62a

[<000000002bd497b2>] kvmalloc_node+0x66/0xd6

[<00000000906542fa>] of_kexec_alloc_and_setup_fdt+0xa6/0x6ea

[<00000000e1166bde>] elf_kexec_load+0x206/0x4ec

[<0000000036548e09>] kexec_image_load_default+0x40/0x4c

[<0000000079fbe1b4>] sys_kexec_file_load+0x1c4/0x322

[<0000000040c62c03>] ret_from_syscall+0x0/0x2

In elf_kexec_load(), a buffer is allocated via kvmalloc() to store fdt.

While it's not freed back to system when kexec kernel is reloaded or

unloaded. Then memory leak is caused. Fix it by introducing riscv

specific function arch_kimage_file_post_load_cleanup(), and freeing the

buffer there.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00197 · 8.9th percentile
Published
2025-12-08T23:59Z
EPSS history
Timeline
  • 08 DEC 23:59Z
    RISC-V: kexec: Fix memory leak of fdt buffer
    cvelistv5