Tobias Stoeckmann e75f5de2ed Check segment gaps regardless of heap space.
Segments are validated in hdr_validate_segments. Gaps in segment keys
are detected when collecting offsets. But if an invalid segment is very
large, larger than count, it could happen that cryptsetup is unable to
allocate enough memory, not giving a clue about what actually is the
problem.

Therefore check for gaps even if not enough memory is available. This
gives much more information with debug output enabled.

Obviously cryptsetup still fails if segments are perfectly fine but not
enough RAM available. But at that stage, the user knows that it's the
fault of the system, not of an invalid segment.
2020-08-26 15:41:24 +02:00
2020-05-28 11:26:27 +02:00
2020-01-03 13:04:55 +01:00
2020-05-24 23:37:31 +02:00
2019-09-06 10:48:18 +02:00
2019-10-31 20:02:51 +01:00
2015-12-13 00:17:25 -05:00
2020-05-28 11:26:27 +02:00
2020-08-26 13:52:16 +02:00
2017-11-08 10:22:49 +01:00
2020-08-26 13:51:22 +02:00
2020-08-26 13:51:22 +02:00
2018-01-20 17:55:21 +01:00

LUKS logo

What the ...?

Cryptsetup is a utility used to conveniently set up disk encryption based on the DMCrypt kernel module.

These include plain dm-crypt volumes, LUKS volumes, loop-AES, TrueCrypt (including VeraCrypt extension) and BitLocker formats.

The project also includes a veritysetup utility used to conveniently setup DMVerity block integrity checking kernel module and, since version 2.0, integritysetup to setup DMIntegrity block integrity kernel module.

LUKS Design

LUKS is the standard for Linux hard disk encryption. By providing a standard on-disk-format, it does not
only facilitate compatibility among distributions, but also provides secure management of multiple user passwords.
LUKS stores all necessary setup information in the partition header, enabling to transport or migrate data seamlessly.

Last version of the LUKS2 format specification is available here.

Last version of the LUKS1 format specification is available here.

Why LUKS?

  • compatibility via standardization,
  • secure against low entropy attacks,
  • support for multiple keys,
  • effective passphrase revocation,
  • free.

Project home page.

Frequently asked questions (FAQ)

Download

All release tarballs and release notes are hosted on kernel.org.

The latest stable cryptsetup version is 2.3.2

Previous versions

Source and API docs

For development version code, please refer to source page, mirror on kernel.org or GitHub.

For libcryptsetup documentation see libcryptsetup API page.

The libcryptsetup API/ABI changes are tracked in compatibility report.

NLS PO files are maintained by TranslationProject.

Help!

Please always read FAQ first. For cryptsetup and LUKS related questions, please use the dm-crypt mailing list, dm-crypt@saout.de.

If you want to subscribe just send an empty mail to dm-crypt-subscribe@saout.de.

You can also browse list archive or read it through web interface.

Languages
C 74.8%
Shell 20.9%
Meson 1.7%
C++ 1.2%
M4 1%
Other 0.4%