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

# fremovexattr(2)

remove an extended attribute

Part of [removexattr(2)](/removexattr/2.md).

## NAME

removexattr, lremovexattr, fremovexattr - remove an extended attribute

## LIBRARY

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

## SYNOPSIS

```
#include <sys/xattr.h>
```

**int removexattr(const char \****path***, const char \****name***);** **int lremovexattr(const char \****path***, const char \****name***);** **int fremovexattr(int** *fd***, const char \****name***);**

## DESCRIPTION

Extended attributes are *name*:*value* pairs associated with inodes (files, directories, symbolic links, etc.). They are extensions to the normal attributes which are associated with all inodes in the system (i.e., the [**stat**(2)](/stat/2.md) data). A complete overview of extended attributes concepts can be found in [**xattr**(7)](/xattr/7.md).

**removexattr**() removes the extended attribute identified by *name* and associated with the given *path* in the filesystem.

**lremovexattr**() is identical to **removexattr**(), except in the case of a symbolic link, where the extended attribute is removed from the link itself, not the file that it refers to.

**fremovexattr**() is identical to **removexattr**(), only the extended attribute is removed from the open file referred to by *fd* (as returned by [**open**(2)](/open/2.md)) in place of *path*.

An extended attribute name is a null-terminated string. The *name* includes a namespace prefix; there may be several, disjoint namespaces associated with an individual inode.

## RETURN VALUE

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

## ERRORS

- **ENODATA**

  The named attribute does not exist.

- **ENOTSUP**

  Extended attributes are not supported by the filesystem, or are disabled.

In addition, the errors documented in [**stat**(2)](/stat/2.md) can also occur.

## STANDARDS

Linux.

## HISTORY

Linux 2.4, glibc 2.3.

## SEE ALSO

[**getfattr**(1)](/getfattr/1.md), [**setfattr**(1)](/setfattr/1.md), [**getxattr**(2)](/getxattr/2.md), [**listxattr**(2)](/listxattr/2.md), [**open**(2)](/open/2.md), [**setxattr**(2)](/setxattr/2.md), [**stat**(2)](/stat/2.md), [**symlink**(7)](/symlink/7.md), [**xattr**(7)](/xattr/7.md)
