]> git.karo-electronics.de Git - karo-tx-linux.git/commit
eCryptfs: Allow 2 scatterlist entries for encrypted filenames
authorTyler Hicks <tyhicks@linux.vnet.ibm.com>
Tue, 17 May 2011 05:50:33 +0000 (00:50 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 23 Jun 2011 22:28:37 +0000 (15:28 -0700)
commit6914392c7e7f4af69b2685babdbbe2c33f1a3e2a
tree69b01cf76ed3737719dda86c9f3622d987754738
parent7f93eb0f04805f5de96fce7a71901d1c32ca7c2b
eCryptfs: Allow 2 scatterlist entries for encrypted filenames

commit 8d08dab786ad5cc2aca2bf870de370144b78c85a upstream.

The buffers allocated while encrypting and decrypting long filenames can
sometimes straddle two pages. In this situation, virt_to_scatterlist()
will return -ENOMEM, causing the operation to fail and the user will get
scary error messages in their logs:

kernel: ecryptfs_write_tag_70_packet: Internal error whilst attempting
to convert filename memory to scatterlist; expected rc = 1; got rc =
[-12]. block_aligned_filename_size = [272]
kernel: ecryptfs_encrypt_filename: Error attempting to generate tag 70
packet; rc = [-12]
kernel: ecryptfs_encrypt_and_encode_filename: Error attempting to
encrypt filename; rc = [-12]
kernel: ecryptfs_lookup: Error attempting to encrypt and encode
filename; rc = [-12]

The solution is to allow up to 2 scatterlist entries to be used.

Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/ecryptfs/keystore.c