⇤ ← Revision 1 as of 2007-03-20 18:29:39
Size: 3970
Comment: ecryptfs
|
Size: 12005
Comment: dynamic kernel command line
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
=== Stuff === | === Dynamic kernel command-line === Current implementation stores a static command-line buffer allocated to COMMAND_LINE_SIZE size. Most architectures stores two copies of this buffer, one for future reference and one for parameter parsing. Current kernel command-line size for most architecture is much too small for module parameters, video settings, initramfs paramters and much more. The problem is that setting COMMAND_LINE_SIZE to a grater value, allocates static buffers. In order to allow a greater command-line size, these buffers should be dynamically allocated or marked as init disposable buffers, so unused memory can be released. This patch renames the static saved_command_line variable into boot_command_line adding __initdata attribute, so that it can be disposed after initialization. This rename is required so applications that use saved_command_line will not be affected by this change. It reintroduces saved_command_line as dynamically allocated buffer to match the data in boot_command_line. It also mark secondary command-line buffer as __initdata, and copies it to dynamically allocated static_command_line buffer components may hold reference to it after initialization. * Dynamic kernel command-line: m68k [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=187959f31e92cde16b274f0b61dfaca3a8b14089 (commit)] * Dynamic kernel command-line: um [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19bf7e7a414711dec0058556feda778105798f99 (commit)] * Dynamic kernel command-line: common [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30d7e0d466b3ac0b5ef77e4062bf9385f0d72270 (commit)] * Dynamic kernel command-line: m32r [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3561794d80843588ed8b47fffb20e2dcd9c40ff3 (commit)] * Dynamic kernel command-line: sparc64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=383464c0fb067f5beb96e28ff376d2280808dd54 (commit)] * Dynamic kernel command-line: alpha [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c253ca0f0930b767a5d6ac0c1b3c6f5619e28f9 (commit)] * Dynamic kernel command-line: sh64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e42ff6c65cf40caa1f6ca51a4c3d552803e0957 (commit)] * Dynamic kernel command-line: mips [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43cd34645d3bf35cbaa68f28b85d12d0b9e08ab9 (commit)] * Dynamic kernel command-line: i386 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e498b66104af914ef04d6e7fbbbc13a4f7c936e (commit)] * Dynamic kernel command-line: sh [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53c82622c2db808c015953336faecefc0ebf29bc (commit)] * Dynamic kernel command-line: h8300 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ff625904cd4e41d70bc01e6683cbb58f312f709 (commit)] * Dynamic kernel command-line: arm26 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64d5a70f956071f8434f403d44835a4895abb78e (commit)] * Dynamic kernel command-line: parisc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=668f9931c812224ab2a6d57cdf2f0ec3865b68d2 * Dynamic kernel command-line: v850 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=712f77b5659208b43c925e1b28c4f44891c4d94f (commit)] * Dynamic kernel command-line: fixups [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a3a06d0e158fc82a6bf13e18439285c7791d2b8 (commit)] * Dynamic kernel command-line: cris [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87e1f9c6dcb4829fd8a68a3af87098cee8ef955b (commit)] * Dynamic kernel command-line: frv [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c00f7613249b3b42782a226308353a4033c11c3 (commit)] * Dynamic kernel command-line: ia64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8d91b8477aa433ee0131b031d782411976e1726 (commit)] * Dynamic kernel command-line: x86_64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=adf48856db47f4f0f661f2f4b7004890408135cf (commit)] * Dynamic kernel command-line: powerpc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8757b21f7628c57cb20e55be324fdef283a56e9 (commit)] * Dynamic kernel command-line: avr32 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf4352c0fc82e6dadfa7eea506c19dea0106baac (commit)] * Dynamic kernel command-line: ppc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf71cecbe4282fbb8ec035a7199fa4aca64db54c (commit)] * Dynamic kernel command-line: arm [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd81899a7d9e77ffd5280b10d0413fb241b18388 (commit)] * Dynamic kernel command-line: xtensa [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3e9cceafd9c886561f602bcdcb03efd96e187ab (commit)] * Dynamic kernel command-line: s390 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e06b1a3513bdd897e3c37c98ed7b16fa237dcb63 (commit)] * Dynamic kernel command-line: m68knommu [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2a09e19cae45b7dfa4b72d70182b5bc9afa2ddb (commit)] * Dynamic kernel command-line: sparc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08e7ca11eed86acde42ee97b9392faa10f9c70d1 (commit)] |
Line 11: | Line 42: |
* KVM * Add hypercall host support for svm [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02e235bc8eebf8a6fef10d46479b3c18f3e9c4f2 (commit)] * KVM: add MSR based hypercall API [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=102d8325a1d2f266d3d0a03fdde948544e72c12d (commit)] This adds a special MSR based hypercall API to KVM. This is to be used by paravirtual kernels and virtual drivers. * KVM: Add a global list of all virtual machines [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=133de9021d2988f3fbdad84c2d26484c7a757526 (commit)] This will allow us to iterate over all vcpus and see which cpus they are running on. * KVM: Wire up hypercall handlers to a central arch-independent location [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=270fd9b96f5fcb7df15d3ca6166545d4aa0f3ee9 (commit)] * KVM: Host suspend/resume support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59ae6c6b87711ceb2d1ea5f9e08bb13aee947a29 (commit)] Add the necessary callbacks to suspend and resume a host running kvm. This is just a repeat of the cpu hotplug/unplug work. * KVM: cpu hotplug support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=774c47f1d78e373a6bd2964f4e278d1ce26c21cb (commit)] On hotplug, we execute the hardware extension enable sequence. On unplug, we decache any vcpus that last ran on the exiting cpu, and execute the hardware extension disable sequence. * KVM: VMX: add vcpu_clear() [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d0be2b3bf4a55606967d7d84e56c52521e94333 (commit)] Like the inline code it replaces, this function decaches the vmcs from the cpu it last executed on. in addition: - vcpu_clear() works if the last cpu is also the cpu we're running on - it is faster on larger smps by virtue of using smp_call_function_single() Includes fix from Ingo Molnar. * KVM: Add host hypercall support for vmx [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c21415e84334af679630f6450ceb8929a5234fad (commit)] |
Short overview (for news sites, etc)
Important things (AKA: ''the cool stuff'')
Dynamic kernel command-line
Current implementation stores a static command-line buffer allocated to COMMAND_LINE_SIZE size. Most architectures stores two copies of this buffer, one for future reference and one for parameter parsing. Current kernel command-line size for most architecture is much too small for module parameters, video settings, initramfs paramters and much more. The problem is that setting COMMAND_LINE_SIZE to a grater value, allocates static buffers. In order to allow a greater command-line size, these buffers should be dynamically allocated or marked as init disposable buffers, so unused memory can be released. This patch renames the static saved_command_line variable into boot_command_line adding initdata attribute, so that it can be disposed after initialization. This rename is required so applications that use saved_command_line will not be affected by this change. It reintroduces saved_command_line as dynamically allocated buffer to match the data in boot_command_line. It also mark secondary command-line buffer as initdata, and copies it to dynamically allocated static_command_line buffer components may hold reference to it after initialization. * Dynamic kernel command-line: m68k [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=187959f31e92cde16b274f0b61dfaca3a8b14089 (commit)] * Dynamic kernel command-line: um [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19bf7e7a414711dec0058556feda778105798f99 (commit)] * Dynamic kernel command-line: common [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30d7e0d466b3ac0b5ef77e4062bf9385f0d72270 (commit)] * Dynamic kernel command-line: m32r [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3561794d80843588ed8b47fffb20e2dcd9c40ff3 (commit)] * Dynamic kernel command-line: sparc64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=383464c0fb067f5beb96e28ff376d2280808dd54 (commit)] * Dynamic kernel command-line: alpha [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c253ca0f0930b767a5d6ac0c1b3c6f5619e28f9 (commit)] * Dynamic kernel command-line: sh64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e42ff6c65cf40caa1f6ca51a4c3d552803e0957 (commit)] * Dynamic kernel command-line: mips [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43cd34645d3bf35cbaa68f28b85d12d0b9e08ab9 (commit)] * Dynamic kernel command-line: i386 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e498b66104af914ef04d6e7fbbbc13a4f7c936e (commit)] * Dynamic kernel command-line: sh [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53c82622c2db808c015953336faecefc0ebf29bc (commit)] * Dynamic kernel command-line: h8300 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ff625904cd4e41d70bc01e6683cbb58f312f709 (commit)] * Dynamic kernel command-line: arm26 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64d5a70f956071f8434f403d44835a4895abb78e (commit)] * Dynamic kernel command-line: parisc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=668f9931c812224ab2a6d57cdf2f0ec3865b68d2 * Dynamic kernel command-line: v850 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=712f77b5659208b43c925e1b28c4f44891c4d94f (commit)] * Dynamic kernel command-line: fixups [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a3a06d0e158fc82a6bf13e18439285c7791d2b8 (commit)] * Dynamic kernel command-line: cris [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87e1f9c6dcb4829fd8a68a3af87098cee8ef955b (commit)] * Dynamic kernel command-line: frv [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c00f7613249b3b42782a226308353a4033c11c3 (commit)] * Dynamic kernel command-line: ia64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8d91b8477aa433ee0131b031d782411976e1726 (commit)] * Dynamic kernel command-line: x86_64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=adf48856db47f4f0f661f2f4b7004890408135cf (commit)] * Dynamic kernel command-line: powerpc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8757b21f7628c57cb20e55be324fdef283a56e9 (commit)] * Dynamic kernel command-line: avr32 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf4352c0fc82e6dadfa7eea506c19dea0106baac (commit)] * Dynamic kernel command-line: ppc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf71cecbe4282fbb8ec035a7199fa4aca64db54c (commit)] * Dynamic kernel command-line: arm [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd81899a7d9e77ffd5280b10d0413fb241b18388 (commit)] * Dynamic kernel command-line: xtensa [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3e9cceafd9c886561f602bcdcb03efd96e187ab (commit)] * Dynamic kernel command-line: s390 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e06b1a3513bdd897e3c37c98ed7b16fa237dcb63 (commit)] * Dynamic kernel command-line: m68knommu [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2a09e19cae45b7dfa4b72d70182b5bc9afa2ddb (commit)] * Dynamic kernel command-line: sparc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08e7ca11eed86acde42ee97b9392faa10f9c70d1 (commit)]
Stuff
Various core changes
- KVM
Add hypercall host support for svm [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02e235bc8eebf8a6fef10d46479b3c18f3e9c4f2 (commit)]
KVM: add MSR based hypercall API [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=102d8325a1d2f266d3d0a03fdde948544e72c12d (commit)]
This adds a special MSR based hypercall API to KVM. This is to be used by paravirtual kernels and virtual drivers.
KVM: Add a global list of all virtual machines [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=133de9021d2988f3fbdad84c2d26484c7a757526 (commit)]
This will allow us to iterate over all vcpus and see which cpus they are running on.
KVM: Wire up hypercall handlers to a central arch-independent location [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=270fd9b96f5fcb7df15d3ca6166545d4aa0f3ee9 (commit)]
KVM: Host suspend/resume support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59ae6c6b87711ceb2d1ea5f9e08bb13aee947a29 (commit)]
Add the necessary callbacks to suspend and resume a host running kvm. This is just a repeat of the cpu hotplug/unplug work.
KVM: cpu hotplug support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=774c47f1d78e373a6bd2964f4e278d1ce26c21cb (commit)]
On hotplug, we execute the hardware extension enable sequence. On unplug, we decache any vcpus that last ran on the exiting cpu, and execute the hardware extension disable sequence.
KVM: VMX: add vcpu_clear() [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d0be2b3bf4a55606967d7d84e56c52521e94333 (commit)]
Like the inline code it replaces, this function decaches the vmcs from the cpu it last executed on. in addition: - vcpu_clear() works if the last cpu is also the cpu we're running on - it is faster on larger smps by virtue of using smp_call_function_single() Includes fix from Ingo Molnar.
KVM: Add host hypercall support for vmx [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c21415e84334af679630f6450ceb8929a5234fad (commit)]
Architecture-specific changes
- i386
Filesystems
- eCryptfs
xattr flags and mount options. Introduces the ability to store cryptographic metadata into an lower file extended attribute rather than the lower file header region. The two new nmount options are: ecryptfs_xattr_metadata; when set, newly created files will have their cryptographic metadata stored in the extended attribute region of the file rather than the header; and ecryptfs_encrypted_view; when set this option causes eCryptfs to present applications a view of encrypted files as if the cryptographic metadata were stored in the file header, whether the metadata is actually stored in the header or in the extended attributes[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17398957aa0a05ef62535060b41d103590dcc533 (commit)]
Public key transport mechanism [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88b4a07e6610f4c93b08b0bb103318218db1e9f6 (commit)]
Generalize metadata read/write [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd2a3b7ad98f8482cae481cad89dfed5eee48365 (commit)]
Public key; packet management [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dddfa461fc8951f9b5f951c13565b6cac678635a (commit)]
Encrypted passthrough [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e77a56ddceeec87575a13a60fc1a394af6a1f4bc (commit)]
- OCFS2:
Networking
Various subsystems
Software suspend
Crypto
* Add the Camellia cipher algorithm. Camellia is a symmetric key block cipher developed jointly at NTT and Mitsubishi Electric Corporation [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d64beac050914de6fe6565741b39905ecd5994b7 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02ab5a7056bd8441ba6ae8ba8662d4296c202ecb 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04ac7db3f23d98abe5d3c91d21b0e45fc09e74ea 3)]
* [CRYPTO] tcrypt: Added test vectors for sha384/sha512 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a28091ae170cd06695bf461905c5b97a165633ba (commit)] This patch adds tests for SHA384 HMAC and SHA512 HMAC to the tcrypt module. Test data was taken from RFC4231. This patch is a follow-up to the discovery (bug 7646) that the kernel SHA384 HMAC implementation was not generating proper SHA384 HMACs.
* [CRYPTO] api: Allow multiple frontends per backend [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=27d2a3300755387d2fec231d37944907ff992ce8 (commit)] This patch adds support for multiple frontend types for each backend algorithm by passing the type and mask through to the backend type init function. * [CRYPTO] api: Use structs for cipher/compression [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78a1fe4f242cbe6b4578e072b75e171b92745afa (commit)] Now that all cipher/compression users have switched over to the new allocation scheme, we can get rid of the compatility defines and use proper structs for them. * [CRYPTO] fcrypt: Add FCrypt from RxRPC [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90831639a65592d6d3dc888dc3341f54ebf932e6 (commit)] Add a crypto module to provide FCrypt encryption as used by RxRPC. * [CRYPTO] pcbc: Add Propagated CBC template [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91652be5d1b901673a8e926455f0ed146cfaa588 (commit)] Add PCBC crypto template support as used by RxRPC.
Drivers