On Thu, Sep 08, 2016 at 08:38:43PM +0800, xiakaixu wrote:
Hi,
I am using the encryption/decryption feature on arm64 board and a kernel
panic occurs just when open a file. As the memory size of the board
is limited
and there are some page allocation failures before the panic.
Seems it is a kernel bug from the call trace log.
...
- fscrypt_get_encryption_info
- get_crypt_info.part.1
- validate_user_key.isra.0
- derive_aes_gcm_key
- crypto_gcm_decrypt
- ablk_decrypt
- ctr_encrypt
- blkcipher_walk_done
- blkcipher_walk_next
- __get_free_pages
----------------------------------> page allocation failure
...
- aes_ctr_encrypt
-----------------------------------------> the input parameter is
NULL pointer as the page allocation failure
The input parameter of function aes_ctr_encrypt() comes from the
/struct blkcipher_walk//
//walk/, and this variable /walk /is allocated by the function
__get_free_pages(). So if this
page allocate failed, the input parameter of function
aes_ctr_encrypt() will be NULL. The
panic will occurs if we don't check the input parameter.
Not sure about this and wish to get your opinions!
If the page allocation fails in blkcipher_walk_next it'll simply
switch over to processing it block by block. so I don't think the
warning is related to the crash.
Cheers,