Description
In the Linux kernel, the following vulnerability has been resolved:
PCI: endpoint: Fix swapped parameters in pci_{primary/secondary}_epc_epf_unlink() functions
struct configfs_item_operations callbacks are defined like the following:
int (*allow_link)(struct config_item *src, struct config_item *target); void (*drop_link)(struct config_item *src, struct config_item *target);
While pci_primary_epc_epf_link() and pci_secondary_epc_epf_link() specify the parameters in the correct order, pci_primary_epc_epf_unlink() and pci_secondary_epc_epf_unlink() specify the parameters in the wrong order, leading to the below kernel crash when using the unlink command in configfs:
Unable to handle kernel paging request at virtual address 0000000300000857 Mem abort info: ... pc : string+0x54/0x14c lr : vsnprintf+0x280/0x6e8 ... string+0x54/0x14c vsnprintf+0x280/0x6e8 vprintk_default+0x38/0x4c vprintk+0xc4/0xe0 pci_epf_unbind+0xdc/0x108 configfs_unlink+0xe0/0x208+0x44/0x74 vfs_unlink+0x120/0x29c __arm64_sys_unlinkat+0x3c/0x90 invoke_syscall+0x48/0x134 do_el0_svc+0x1c/0x30prop.0+0xd0/0xf0
[mani: cced stable, changed commit message as per https://lore.kernel.org/linux-pci/aV9joi3jF1R6ca02@ryzen]
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= e85a2d7837622bd99c96f5bbc7f972da90c285a2, < 58686bf62cb38b92e4b28408162a5703775b4d12; >= e85a2d7837622bd99c96f5bbc7f972da90c285a2, < 1c96c1acef4b4a1108fc13f84a8ac0b0633bbb46; >= e85a2d7837622bd99c96f5bbc7f972da90c285a2, < 142b1bba3299264b76ed8ef53cd93b2b2af65d6c; >= e85a2d7837622bd99c96f5bbc7f972da90c285a2, < 339191811e6fc4559c4008c5af7a91b05086d596; >= e85a2d7837622bd99c96f5bbc7f972da90c285a2, < 733cbc3aa97e71cc70847e75c925b364cc9b04a6; >= e85a2d7837622bd99c96f5bbc7f972da90c285a2, < aefc0e0bd20f54abe3b501b8798c0be656af272b; >= e85a2d7837622bd99c96f5bbc7f972da90c285a2, < 8754dd7639ab0fd68c3ab9d91c7bdecc3e5740a8 |
| Linux | Linux | 5.12 |
References
- https://git.kernel.org/stable/c/142b1bba3299264b76ed8ef53cd93b2b2af65d6cPatch
- https://git.kernel.org/stable/c/1c96c1acef4b4a1108fc13f84a8ac0b0633bbb46Patch
- https://git.kernel.org/stable/c/339191811e6fc4559c4008c5af7a91b05086d596Patch
- https://git.kernel.org/stable/c/58686bf62cb38b92e4b28408162a5703775b4d12Patch
- https://git.kernel.org/stable/c/733cbc3aa97e71cc70847e75c925b364cc9b04a6Patch
- https://git.kernel.org/stable/c/8754dd7639ab0fd68c3ab9d91c7bdecc3e5740a8Patch
- https://git.kernel.org/stable/c/aefc0e0bd20f54abe3b501b8798c0be656af272bPatch
Timeline
- Published
- May 6, 2026
- Last modified
- Nov 11, 2026
- NVD status
- Analyzed