# CVE-2022-50579: linux: In the Linux kernel, the following vulnerability has been resolved:  arm64: ftrace: fix module PLTs with mcount  Li H...

CVE-2022-50579 is fixed in linux on 1 platform, first by DEBIAN-CVE-2022-50579, released October 22, 2025. It is not reported as exploited. Patch Radar priority: Routine.

- Web page: https://patchblox.com/security/cve/CVE-2022-50579
- Priority: Routine
- CVSS: n/a
- EPSS: 0.0021
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Oct 22, 2025

## Description

In the Linux kernel, the following vulnerability has been resolved:  arm64: ftrace: fix module PLTs with mcount  Li Huafei reports that mcount-based ftrace with module PLTs was broken by commit:    a6253579977e4c6f ("arm64: ftrace: consistently handle PLTs.")  When a module PLTs are used and a module is loaded sufficiently far away from the kernel, we'll create PLTs for any branches which are out-of-range. These are separate from the special ftrace trampoline PLTs, which the module PLT code doesn't directly manipulate.  When mcount is in use this is a problem, as each mcount callsite in a module will be initialized to point to a module PLT, but since commit a6253579977e4c6f ftrace_make_nop() will assume that the callsite has been initialized to point to the special ftrace trampoline PLT, and ftrace_find_callable_addr() rejects other cases.  This means that when ftrace tries to initialize a callsite via ftrace_make_nop(), the call to ftrace_find_callable_addr() will find that the `_mcount` stub is out-of-range and is not handled by the ftrace PLT, resulting in a splat:  | ftrace_test: loading out-of-tree module taints kernel. | ftrace: no module PLT for _mcount | ------------[ ftrace bug ]------------ | ftrace failed to modify | [<ffff800029180014>] 0xffff800029180014 |  actual:   44:00:00:94 | Initializing ftrace call sites | ftrace record flags: 2000000 |  (0) |  expected tramp: ffff80000802eb3c | ------------[ cut here ]------------ | WARNING: CPU: 3 PID: 157 at kernel/trace/ftrace.c:2120 ftrace_bug+0x94/0x270 | Modules linked in: | CPU: 3 PID: 157 Comm: insmod Tainted: G           O       6.0.0-rc6-00151-gcd722513a189-dirty #22 | Hardware name: linux,dummy-virt (DT) | pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) | pc : ftrace_bug+0x94/0x270 | lr : ftrace_bug+0x21c/0x270 | sp : ffff80000b2bbaf0 | x29: ffff80000b2bbaf0 x28: 0000000000000000 x27: ffff0000c4d38000 | x26: 0000000000000001 x25: ffff800009d7e000 x24: ffff0000c4d86e00 | x23: 0000000002000000 x22: ffff80000a62b000 x21: ffff8000098ebea8 | x20: ffff0000c4d38000 x19: ffff80000aa24158 x18: ffffffffffffffff | x17: 0000000000000000 x16: 0a0d2d2d2d2d2d2d x15: ffff800009aa9118 | x14: 0000000000000000 x13: 6333626532303830 x12: 3030303866666666 | x11: 203a706d61727420 x10: 6465746365707865 x9 : 3362653230383030 | x8 : c0000000ffffefff x7 : 0000000000017fe8 x6 : 000000000000bff4 | x5 : 0000000000057fa8 x4 : 0000000000000000 x3 : 0000000000000001 | x2 : ad2cb14bb5438900 x1 : 0000000000000000 x0 : 0000000000000022 | Call trace: |  ftrace_bug+0x94/0x270 |  ftrace_process_locs+0x308/0x430 |  ftrace_module_init+0x44/0x60 |  load_module+0x15b4/0x1ce8 |  __do_sys_init_module+0x1ec/0x238 |  __arm64_sys_init_module+0x24/0x30 |  invoke_syscall+0x54/0x118 |  el0_svc_common.constprop.4+0x84/0x100 |  do_el0_svc+0x3c/0xd0 |  el0_svc+0x1c/0x50 |  el0t_64_sync_handler+0x90/0xb8 |  el0t_64_sync+0x15c/0x160 | ---[ end trace 0000000000000000 ]--- | ---------test_init-----------  Fix this by reverting to the old behaviour of ignoring the old instruction when initialising an mcount callsite in a module, which was the behaviour prior to commit a6253579977e4c6f.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 12.15 (bookworm) | 6.0.3-1 | [DEBIAN-CVE-2022-50579](https://patchblox.com/security/data/fix/linux/debian-cve-2022-50579.md) | Oct 22, 2025 |
| Linux | linux Debian 13.5 (trixie) | 6.0.3-1 | [DEBIAN-CVE-2022-50579](https://patchblox.com/security/data/fix/linux/debian-cve-2022-50579.md) | Oct 22, 2025 |
| Linux | linux Debian 14 | 6.0.3-1 | [DEBIAN-CVE-2022-50579](https://patchblox.com/security/data/fix/linux/debian-cve-2022-50579.md) | Oct 22, 2025 |

---

Data as of 2026-11-09T01:18:40Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
