All of lore.kernel.org
 help / color / mirror / Atom feed
From: Herbert Xu <herbert@gondor.apana.org.au>
To: Laura Abbott <labbott@redhat.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: Re: [PATCH] crypto: Pad aes_ccm_enc_tv_template vector
Date: Wed, 1 Mar 2017 19:52:20 +0800	[thread overview]
Message-ID: <20170301115220.GC11489@gondor.apana.org.au> (raw)
In-Reply-To: <1488319645-29129-1-git-send-email-labbott@redhat.com>

On Tue, Feb 28, 2017 at 02:07:25PM -0800, Laura Abbott wrote:
> Running with KASAN and crypto tests currently gives
> 
>  BUG: KASAN: global-out-of-bounds in __test_aead+0x9d9/0x2200 at addr ffffffff8212fca0
>  Read of size 16 by task cryptomgr_test/1107
>  Address belongs to variable 0xffffffff8212fca0
>  CPU: 0 PID: 1107 Comm: cryptomgr_test Not tainted 4.10.0+ #45
>  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.1-1.fc24 04/01/2014
>  Call Trace:
>   dump_stack+0x63/0x8a
>   kasan_report.part.1+0x4a7/0x4e0
>   ? __test_aead+0x9d9/0x2200
>   ? crypto_ccm_init_crypt+0x218/0x3c0 [ccm]
>   kasan_report+0x20/0x30
>   check_memory_region+0x13c/0x1a0
>   memcpy+0x23/0x50
>   __test_aead+0x9d9/0x2200
>   ? kasan_unpoison_shadow+0x35/0x50
>   ? alg_test_akcipher+0xf0/0xf0
>   ? crypto_skcipher_init_tfm+0x2e3/0x310
>   ? crypto_spawn_tfm2+0x37/0x60
>   ? crypto_ccm_init_tfm+0xa9/0xd0 [ccm]
>   ? crypto_aead_init_tfm+0x7b/0x90
>   ? crypto_alloc_tfm+0xc4/0x190
>   test_aead+0x28/0xc0
>   alg_test_aead+0x54/0xd0
>   alg_test+0x1eb/0x3d0
>   ? alg_find_test+0x90/0x90
>   ? __sched_text_start+0x8/0x8
>   ? __wake_up_common+0x70/0xb0
>   cryptomgr_test+0x4d/0x60
>   kthread+0x173/0x1c0
>   ? crypto_acomp_scomp_free_ctx+0x60/0x60
>   ? kthread_create_on_node+0xa0/0xa0
>   ret_from_fork+0x2c/0x40
>  Memory state around the buggy address:
>   ffffffff8212fb80: 00 00 00 00 01 fa fa fa fa fa fa fa 00 00 00 00
>   ffffffff8212fc00: 00 01 fa fa fa fa fa fa 00 00 00 00 01 fa fa fa
>  >ffffffff8212fc80: fa fa fa fa 00 05 fa fa fa fa fa fa 00 00 00 00
>                                    ^
>   ffffffff8212fd00: 01 fa fa fa fa fa fa fa 00 00 00 00 01 fa fa fa
>   ffffffff8212fd80: fa fa fa fa 00 00 00 00 00 05 fa fa fa fa fa fa
> 
> This always happens on the same IV which is less than 16 bytes.
> 
> Per Ard,
> 
> "CCM IVs are 16 bytes, but due to the way they are constructed
> internally, the final couple of bytes of input IV are dont-cares.
> 
> Apparently, we do read all 16 bytes, which triggers the KASAN errors."
> 
> Fix this by padding the IV with null bytes to be at least 16 bytes.
> 
> Fixes: 0bc5a6c5c79a ("crypto: testmgr - Disable rfc4309 test and convert
> test vectors")
> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Signed-off-by: Laura Abbott <labbott@redhat.com>

Patch applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

      reply	other threads:[~2017-03-01 11:52 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-28 22:07 [PATCH] crypto: Pad aes_ccm_enc_tv_template vector Laura Abbott
2017-03-01 11:52 ` Herbert Xu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170301115220.GC11489@gondor.apana.org.au \
    --to=herbert@gondor.apana.org.au \
    --cc=ard.biesheuvel@linaro.org \
    --cc=davem@davemloft.net \
    --cc=labbott@redhat.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.