#
0c879bd9 |
| 27-Oct-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Before this change when GELI detected hardware crypto acceleration it will start only one worker thread. For software crypto it will start by default N worker threads where N is the number of availab
Before this change when GELI detected hardware crypto acceleration it will start only one worker thread. For software crypto it will start by default N worker threads where N is the number of available CPUs.
This is not optimal if hardware crypto is AES-NI, which uses CPU for AES calculations.
Change that to always start one worker thread for every available CPU. Number of worker threads per GELI provider can be easly reduced with kern.geom.eli.threads sysctl/tunable and even for software crypto it should be reduced when using more providers.
While here, when number of threads exceeds number of CPUs avilable don't reduce this number, assume the user knows what he is doing.
Reported by: Yuri Karaban <dev@dev97.com> MFC after: 3 days
show more ...
|
#
70d8f36a |
| 27-Oct-2011 |
Peter Grehan <grehan@FreeBSD.org> |
IFC @ r226824
|
#
1f8c92e6 |
| 25-Oct-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add support for creating GELI devices with older metadata version for use with older FreeBSD versions: - Add -V option to 'geli init' to specify version number. If no -V is given the most recent ve
Add support for creating GELI devices with older metadata version for use with older FreeBSD versions: - Add -V option to 'geli init' to specify version number. If no -V is given the most recent version is used. - If -V is given don't allow to use features not supported by this version. - Print version in 'geli list' output. - Update manual page and add table describing which GELI version is supported by which FreeBSD version, so one can use it when preparing GELI device for older FreeBSD version.
Inspired by: Garrett Cooper <yanegomi@gmail.com> MFC after: 3 days
show more ...
|
#
effb9912 |
| 25-Oct-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
When decoding metadata, check magic string, so we know this is not GELI device before we check its version. We don't want to report that some garbage is unsupported version if this is not even GELI p
When decoding metadata, check magic string, so we know this is not GELI device before we check its version. We don't want to report that some garbage is unsupported version if this is not even GELI provider.
MFC after: 3 days
show more ...
|
#
e880ff00 |
| 25-Oct-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
When metadata is at newer version than the highest supported, return EOPNOTSUPP when decoding.
MFC after: 3 days
|
#
521bd6b4 |
| 08-May-2011 |
Attilio Rao <attilio@FreeBSD.org> |
MFC
|
#
964d172c |
| 08-May-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Detect and handle metadata of version 6.
MFC after: 1 week
|
#
ad0a5236 |
| 08-May-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
When support for multiple encryption keys was committed, GELI integrity mode was not updated to pass CRD_F_KEY_EXPLICIT flag to opencrypto. This resulted in always using first key.
We need to suppor
When support for multiple encryption keys was committed, GELI integrity mode was not updated to pass CRD_F_KEY_EXPLICIT flag to opencrypto. This resulted in always using first key.
We need to support providers created with this bug, so set special G_ELI_FLAG_FIRST_KEY flag for GELI provider in integrity mode with version smaller than 6 and pass the CRD_F_KEY_EXPLICIT flag to opencrypto only if G_ELI_FLAG_FIRST_KEY doesn't exist.
Reported by: Anton Yuzhaninov <citrin@citrin.ru> MFC after: 1 week
show more ...
|
#
9d644a40 |
| 08-May-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Remove prototype for a function that no longer exist.
MFC after: 1 week
|
#
1e09ff3d |
| 21-Apr-2011 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Instead of allocating memory for all the keys at device attach, create reasonably large cache for the keys that is filled when needed. The previous version was problematic for very large providers (h
Instead of allocating memory for all the keys at device attach, create reasonably large cache for the keys that is filled when needed. The previous version was problematic for very large providers (hundreds of terabytes or serval petabytes). Every terabyte of data needs around 256kB for keys. Make the default cache limit big enough to fit all the keys needed for 4TB providers, which will eat at most 1MB of memory.
MFC after: 2 weeks
show more ...
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0 |
|
#
6f3544cd |
| 26-Oct-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Merge svn+ssh://svn.freebsd.org/base/head@214309
|
#
19fe8e84 |
| 22-Oct-2010 |
Dimitry Andric <dim@FreeBSD.org> |
Sync: merge r214077 through r214219 from ^/head.
|
#
3ac01bc2 |
| 21-Oct-2010 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Free opencrypto sessions on suspend, as they also might keep encryption keys.
|
#
5ad4a7c7 |
| 20-Oct-2010 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Bring in geli suspend/resume functionality (finally).
Before this change if you wanted to suspend your laptop and be sure that your encryption keys are safe, you had to stop all processes that use f
Bring in geli suspend/resume functionality (finally).
Before this change if you wanted to suspend your laptop and be sure that your encryption keys are safe, you had to stop all processes that use file system stored on encrypted device, unmount the file system and detach geli provider.
This isn't very handy. If you are a lucky user of a laptop where suspend/resume actually works with FreeBSD (I'm not!) you most likely want to suspend your laptop, because you don't want to start everything over again when you turn your laptop back on.
And this is where geli suspend/resume steps in. When you execute:
# geli suspend -a
geli will wait for all in-flight I/O requests, suspend new I/O requests, remove all geli sensitive data from the kernel memory (like encryption keys) and will wait for either 'geli resume' or 'geli detach'.
Now with no keys in memory you can suspend your laptop without stopping any processes or unmounting any file systems.
When you resume your laptop you have to resume geli devices using 'geli resume' command. You need to provide your passphrase, etc. again so the keys can be restored and suspended I/O requests released.
Of course you need to remember that 'geli suspend' won't clear file system cache and other places where data from your geli-encrypted file system might be present. But to get rid of those stopping processes and unmounting file system won't help either - you have to turn your laptop off. Be warned.
Also note, that suspending geli device which contains file system with geli utility (or anything used by 'geli resume') is not very good idea, as you won't be able to resume it - when you execute geli(8), the kernel will try to read it and this read I/O request will be suspended.
show more ...
|
#
f95168e0 |
| 25-Sep-2010 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Change g_eli_debug to int, so one can turn off any GELI output by setting kern.geom.eli.debug sysctl to -1.
MFC after: 2 weeks
|
#
9839c97b |
| 23-Sep-2010 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Update copyright years.
MFC after: 1 week
|
#
9a5a1d1e |
| 23-Sep-2010 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add support for AES-XTS. This will be the default now.
MFC after: 1 week
|
#
c6a26d4c |
| 23-Sep-2010 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Implement switching of data encryption key every 2^20 blocks. This ensures the same encryption key won't be used for more than 2^20 blocks (sectors). This will be the default now.
MFC after: 1 week
|
#
b35bfe7e |
| 23-Sep-2010 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Define default overwrite count, so that userland can use it.
MFC after: 1 week
|
#
0f81f304 |
| 19-Sep-2010 |
Brian Somers <brian@FreeBSD.org> |
Support attaching version 4 metadata
Reviewed by: pjd
|
#
efb46508 |
| 28-Aug-2010 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Correct offset conversion to little endian. It was implemented in version 2, but because of a bug it was a no-op, so we were still using offsets in native byte order for the host. Do it properly this
Correct offset conversion to little endian. It was implemented in version 2, but because of a bug it was a no-op, so we were still using offsets in native byte order for the host. Do it properly this time, bump version to 4 and set the G_ELI_FLAG_NATIVE_BYTE_ORDER flag when version is under 4.
MFC after: 2 weeks
show more ...
|
Revision tags: release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
864cba96 |
| 01-Sep-2007 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add support for Camellia encryption algorithm.
PR: kern/113790 Submitted by: Yoshisato YANAGISAWA <yanagisawa@csg.is.titech.ac.jp> Approved by: re (bmah)
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
8abd1ad1 |
| 16-Sep-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Add 'configure' subcommand which for now only allows setting and removing of the BOOT flag. It can be performed on both attached and detached providers.
Requested by: Matthias Lederhofer <matled@gmx
Add 'configure' subcommand which for now only allows setting and removing of the BOOT flag. It can be performed on both attached and detached providers.
Requested by: Matthias Lederhofer <matled@gmx.net> MFC after: 1 week
show more ...
|
#
2bd4ade6 |
| 11-Aug-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Before using byte offset for IV creation, covert it to little endian. This way one will be able to use provider encrypted on eg. i386 on eg. sparc64. This doesn't really buy us much today, because UF
Before using byte offset for IV creation, covert it to little endian. This way one will be able to use provider encrypted on eg. i386 on eg. sparc64. This doesn't really buy us much today, because UFS isn't endian agnostic.
We retain backward compatibility by setting G_ELI_FLAG_NATIVE_BYTE_ORDER flag on devices with version number less than 2 and not converting the offset.
show more ...
|
#
d04c304d |
| 11-Aug-2006 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Forgot to bump version number after G_ELI_FLAG_READONLY flag addition.
|