kldunloadf(2)

kldunloadf2

Unload kld files

Part of kldunload(2).

Usage

#include <sys/linker.h>

int

kldunload(int fileid);

int

kldunloadf(int fileid, int flags);

Library

Standard C Library (libc, -lc)

Overview

The kldunload() system call unloads a kld file from the kernel that was previously linked via kldload(2).

The kldunloadf() system call accepts an additional flags argument, which may be one of LINKER_UNLOAD_NORMAL, giving the same behavior as kldunload(), or LINKER_UNLOAD_FORCE, which causes the unload to ignore a failure to quiesce the module.

Return values

The kldunload() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

Errors

The file referred to by fileid is unloaded unless:

[EPERM]

You do not have access to unlink the file from the kernel.

[ENOENT]

The file was not found.

[EBUSY]

You attempted to unload a file linked by the kernel.

[EINVAL]

The kldunloadf() system call was passed invalid flags.

Releases

43 releases since FreeBSD 7.1-RELEASE; the text changed 30 times.

  1. 7.1
  2. 7.2
  3. 7.3
  4. 7.4
  5. 8.0
  6. 8.1
  7. 8.2
  8. 8.3
  9. 8.4
  10. 9.0
  11. 9.1
  12. 9.2
  13. 9.3
  14. 10.0
  15. 10.1
  16. 10.2
  17. 10.3
  18. 10.4
  19. 11.0
  20. 11.1
  21. 11.2
  22. 11.3
  23. 11.4
  24. 12.0
  25. 12.1
  26. 12.2
  27. 12.3
  28. 12.4
  29. 13.0–13.2
  30. 13.3–14.2
  31. 14.3–16.0

History

The kld interface first appeared in FreeBSD 3.0.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.