diff options
author | Michael Halcrow <mhalcrow@us.ibm.com> | 2008-11-19 15:36:28 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-19 18:49:58 -0800 |
commit | ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142 (patch) | |
tree | 118785d6a53390fb15177fc762f744a1bc0a79a4 /mm/memory_hotplug.c | |
parent | 3b45d6380c392e402adc460e4ccf7d41e0caf82a (diff) | |
download | linux-3.10-ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142.tar.gz linux-3.10-ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142.tar.bz2 linux-3.10-ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142.zip |
eCryptfs: Allocate up to two scatterlists for crypto ops on keys
I have received some reports of out-of-memory errors on some older AMD
architectures. These errors are what I would expect to see if
crypt_stat->key were split between two separate pages. eCryptfs should
not assume that any of the memory sent through virt_to_scatterlist() is
all contained in a single page, and so this patch allocates two
scatterlist structs instead of one when processing keys. I have received
confirmation from one person affected by this bug that this patch resolves
the issue for him, and so I am submitting it for inclusion in a future
stable release.
Note that virt_to_scatterlist() runs sg_init_table() on the scatterlist
structs passed to it, so the calls to sg_init_table() in
decrypt_passphrase_encrypted_session_key() are redundant.
Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
Reported-by: Paulo J. S. Silva <pjssilva@ime.usp.br>
Cc: "Leon Woestenberg" <leon.woestenberg@gmail.com>
Cc: Tim Gardner <tim.gardner@canonical.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory_hotplug.c')
0 files changed, 0 insertions, 0 deletions