---
name: "PR_GET_TID_ADDRESS"
section: "2const"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/PR_GET_TID_ADDRESS"
---

# PR\_GET\_TID\_ADDRESS(2const)

get the clear\_child\_tid address

## NAME

PR\_GET\_TID\_ADDRESS - get the clear\_child\_tid address

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <linux/prctl.h>  /* Definition of PR_* constants */
#include <sys/prctl.h>
```

**int prctl(PR\_GET\_TID\_ADDRESS, int \*\****addrp***);**

## DESCRIPTION

Return the *clear\_child\_tid* address set by [**set\_tid\_address**(2)](/set_tid_address/2.md) and the [**clone**(2)](/clone/2.md) **CLONE\_CHILD\_CLEARTID** flag, in the location pointed to by *addrp*.

This feature is available only if the kernel is built with the **CONFIG\_CHECKPOINT\_RESTORE** option enabled.

## RETURN VALUE

On success, 0 is returned. On error, -1 is returned, and *errno* is set to indicate the error.

## ERRORS

- **EFAULT**

  *addrp* is an invalid address.

## STANDARDS

Linux.

## HISTORY

Linux 3.5.

## CAVEATS

Note that since the **prctl**() system call does not have a compat implementation for the AMD64 x32 and MIPS n32 ABIs, and the kernel writes out a pointer using the kernel's pointer size, this operation expects a user-space buffer of 8 (not 4) bytes on these ABIs.

## SEE ALSO

[**prctl**(2)](/prctl/2.md)
