| 894 | } |
| 895 | |
| 896 | void |
| 897 | shm_drop(struct shmfd *shmfd) |
| 898 | { |
| 899 | |
| 900 | if (refcount_release(&shmfd->shm_refs)) { |
| 901 | #ifdef MAC |
| 902 | mac_posixshm_destroy(shmfd); |
| 903 | #endif |
| 904 | rangelock_destroy(&shmfd->shm_rl); |
| 905 | mtx_destroy(&shmfd->shm_mtx); |
| 906 | vm_object_deallocate(shmfd->shm_object); |
| 907 | free(shmfd, M_SHMFD); |
| 908 | } |
| 909 | } |
| 910 | |
| 911 | /* |
| 912 | * Determine if the credentials have sufficient permissions for a |
no test coverage detected