lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 8 Sep 2016 20:47:09 +0800
From:   Herbert Xu <herbert@...dor.apana.org.au>
To:     xiakaixu <xiakaixu@...wei.com>
Cc:     davem@...emloft.net, tytso@....edu, jaegeuk@...nel.org,
        nhorman@...driver.com, ard.biesheuvel@...aro.org, mh1@....fi,
        linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
        Bintian <bintian.wang@...wei.com>, liushuoran@...wei.com,
        Huxinwei <huxinwei@...wei.com>, zhangzhibin.zhang@...wei.com
Subject: Re: Kernel panic - encryption/decryption failed when open file on
 Arm64

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,
-- 
Email: Herbert Xu <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ