---
name: "rdma_dereg_mr"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/rdma_dereg_mr"
---

# rdma\_dereg\_mr(3)

deregisters a registered memory region.

## NAME

rdma\_dereg\_mr - deregisters a registered memory region.

## SYNOPSIS

**#include \<rdma/rdma\_verbs.h\>**

**struct ibv\_mr \* rdma\_dereg\_mr** **(struct ibv\_mr \****mr***);**

## ARGUMENTS

- mr

  A reference to a registered memory buffer.

## DESCRIPTION

Deregisters a memory buffer that had been registered for RDMA or message operations.  A user should call rdma\_dereg\_mr for all registered memory associated with an rdma\_cm\_id before destroying the rdma\_cm\_id.

## RETURN VALUE

Returns 0 on success, or -1 on error.  If an error occurs, errno will be set to indicate the failure reason.

## NOTES

All memory registered with an rdma\_cm\_id is associated with the protection domain associated with the id.  Users must deregister all registered memory before the protection domain can be destroyed.

## SEE ALSO

[rdma\_cm(7)](/rdma_cm/7.md), [rdma\_create\_id(3)](/rdma_create_id/3.md), [rdma\_create\_ep(3)](/rdma_create_ep/3.md), [rdma\_destroy\_id(3)](/rdma_destroy_id/3.md), [rdma\_destroy\_ep(3)](/rdma_destroy_ep/3.md), [rdma\_reg\_msgs(3)](/rdma_reg_msgs/3.md), [rdma\_reg\_read(3)](/rdma_reg_read/3.md), [rdma\_reg\_write(3)](/rdma_reg_write/3.md), [ibv\_reg\_mr(3)](/ibv_reg_mr/3.md), [ibv\_dereg\_mr(3)](/ibv_dereg_mr/3.md)
