---
name: "PR_SET_UNALIGN"
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_SET_UNALIGN"
---

# PR\_SET\_UNALIGN(2const)

set unaligned access control bits

## NAME

PR\_SET\_UNALIGN - set unaligned access control bits

## LIBRARY

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

## SYNOPSIS

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

**int prctl(PR\_SET\_UNALIGN, unsigned long** *flag***);**

## DESCRIPTION

Set unaligned access control bits to *arg2*.

Pass **PR\_UNALIGN\_NOPRINT** to silently fix up unaligned user accesses, or **PR\_UNALIGN\_SIGBUS** to generate **SIGBUS** on unaligned user access.

Alpha also supports an additional flag with the value of 4 and no corresponding named constant, which instructs kernel to not fix up unaligned accesses (it is analogous to providing the **UAC\_NOFIX** flag in **SSI\_NVPAIRS** operation of the **setsysinfo**() system call on Tru64).

## RETURN VALUE

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

## ERRORS

- **EINVAL**

  *flag* is not a valid value.

## STANDARDS

Linux.

## HISTORY

Only on:

- •

  ia64, since Linux 2.3.48

- •

  parisc, since Linux 2.6.15

- •

  PowerPC, since Linux 2.6.18

- •

  Alpha, since Linux 2.6.22

- •

  sh, since Linux 2.6.34

- •

  tile, since Linux 3.12

## SEE ALSO

[**prctl**(2)](/prctl/2.md), [**PR\_GET\_UNALIGN**(2const)](/PR_GET_UNALIGN/2const.md)
