Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

crypto: nx - Fix reentrancy bugs

This patch fixes a host of reentrancy bugs in the nx driver.  The
following algorithms are affected:

* CCM
* GCM
* CTR
* XCBC
* SHA256
* SHA512

The crypto API allows a single transform to be used by multiple
threads simultaneously.  For example, IPsec will use a single tfm
to process packets for a given SA.  As packets may arrive on
multiple CPUs that tfm must be reentrant.

The nx driver does try to deal with this by using a spin lock.
Unfortunately only the basic AES/CBC/ECB algorithms do this in
the correct way.

The symptom of these bugs may range from the generation of incorrect
output to memory corruption.

Cc: stable@vger.kernel.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
latest commit 030f4e9687
@herbertx herbertx authored
..
Failed to load latest commit information.
amcc crypto: amcc - remove incorrect __init/__exit markups
caam Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
ccp Merge tag 'pm+acpi-4.2-rc1' of git://git.kernel.org/pub/scm/linux/ker…
marvell genalloc: rename of_get_named_gen_pool() to of_gen_pool_get()
nx crypto: nx - Fix reentrancy bugs
qat crypto: qat - Deletion of unnecessary checks before two function calls
qce crypto: replace scatterwalk_sg_next with sg_next
ux500 crypto: drivers - Fix Kconfig selects
vmx Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Kconfig crypto: marvell/cesa - remove COMPILE_TEST dependency
Makefile crypto: marvell/cesa - add a new driver for Marvell's CESA
atmel-aes-regs.h crypto: atmel - add Atmel AES driver
atmel-aes.c crypto: atmel-aes - correct usage of dma_sync_* API
atmel-sha-regs.h crypto: atmel-sha - add support for latest release of the IP (0x410)
atmel-sha.c crypto: atmel-sha - correct the max burst size
atmel-tdes-regs.h crypto: atmel-tdes - add support for latest release of the IP (0x700)
atmel-tdes.c crypto: atmel-tdes - initialize spinlock in probe
bfin_crc.c crypto: replace scatterwalk_sg_next with sg_next
bfin_crc.h crypto: bfin_crc - access crc registers by readl and writel functions
geode-aes.c crypto: geode - Don't use tfm->__crt_alg->cra_name directly
geode-aes.h crypto: geode - Consistently use AES_KEYSIZE_128
hifn_795x.c crypto: use pci_zalloc_consistent
img-hash.c crypto: img-hash - shift wrapping bug in img_hash_hw_init()
ixp4xx_crypto.c crypto: ixp4xx - Use crypto_aead_maxauthsize
mv_cesa.c crypto: marvell/cesa - another fix up for of_get_named_gen_pool() rename
mv_cesa.h crypto: mv_cesa - Add missing #define
mxs-dcp.c crypto: mxs-dcp - fix type of ret for wait_for_completion_timeout
n2_asm.S crypto: n2 - Add Niagara2 crypto driver
n2_core.c Merge branch 'mvebu/drivers' of git://git.kernel.org/pub/scm/linux/ke…
n2_core.h crypto: n2 - Add Niagara2 crypto driver
omap-aes.c crypto: omap-aes - Fix support for unequal lengths
omap-des.c crypto: omap-des - Fix unmapping of dma channels
omap-sham.c crypto: omap-sham - Add support for omap3 devices
padlock-aes.c x86/fpu: Rename i387.h to fpu/api.h
padlock-sha.c x86/fpu: Rename i387.h to fpu/api.h
picoxcell_crypto.c crypto: picoxcell - Update to the current clk API
picoxcell_crypto_regs.h crypto: picoxcell - add support for the picoxcell crypto engines
s5p-sss.c crypto: drop owner assignment from platform_drivers
sahara.c crypto: sahara - propagate the error on clk_disable_unprepare() failure
talitos.c crypto: talitos - static code checker fixes
talitos.h crypto: talitos - implement scatter/gather copy for SEC1
Something went wrong with that request. Please try again.