Page MenuHomeFreeBSD

posixshm: Fix a double unlock in shm_partial_page_invalidate()
ClosedPublic

Authored by markj on Mon, Sep 21, 4:43 PM.
Tags
None
Referenced Files
F174856465: D59877.id.diff
Tue, Oct 6, 2:00 PM
Unknown Object (File)
Tue, Oct 6, 8:45 AM
Unknown Object (File)
Sun, Oct 4, 9:50 AM
Unknown Object (File)
Sun, Oct 4, 8:55 AM
Unknown Object (File)
Sun, Oct 4, 5:54 AM
Unknown Object (File)
Sun, Oct 4, 12:51 AM
Unknown Object (File)
Sat, Oct 3, 10:26 AM
Unknown Object (File)
Sat, Oct 3, 4:29 AM
Subscribers

Details

Summary

For some reason, shm_partial_page_invalidate() unlocks the object upon
an error, but its callers don't expect this. Don't do any special error
handling. Keep the subroutine anyway since the name is a bit clearer
than vm_page_grab_zero_partial().

While here, normalize the object pointer used for locking in
shm_deallocate().

Fixes: 454bc887f250 ("uipc_shm: Implements fspacectl(2) support")

Diff Detail

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