Page MenuHomeFreeBSD

amd64 pmap: Release PTP reference on leaf ptpage allocation failure
ClosedPublic

Authored by bnovkov on Jun 13 2024, 4:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Jul 19, 6:04 PM
Unknown Object (File)
Sat, Jul 11, 4:19 PM
Unknown Object (File)
Mon, Jul 6, 10:45 PM
Unknown Object (File)
Fri, Jun 26, 4:48 AM
Unknown Object (File)
Wed, Jun 24, 1:27 PM
Unknown Object (File)
May 24 2026, 8:51 PM
Unknown Object (File)
May 24 2026, 8:51 PM
Unknown Object (File)
May 19 2026, 2:33 AM
Subscribers

Details

Summary

aa3bcaa fixed an edge case invloving mlock() and superpage creation
by creating and inserting a leaf pagetable page for mlock'd superpages.
However, the code does not properly release the reference to the
pagetable page in the error handling path.
This commit fixes the issue by adding calls to 'pmap_abort_ptp'
in the error handling path.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 58165
Build 55053: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Jun 13 2024, 7:35 PM
sys/amd64/amd64/pmap.c
7599

There are some code paths in this function which handle pdpg == NULL, but I don't think that's possible.

sys/amd64/amd64/pmap.c
7599

Yes, because pmap != kernel_pmap.