mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
crypto: omap-sham - Verify page zone of scatterlists before starting DMA
In certain platforms like DRA7xx having memory > 2GB with LPAE enabled has a constraint that DMA can be done with the initial 2GB and marks it as ZONE_DMA. But openssl when used with cryptodev does not make sure that input buffer is DMA capable. So, adding a check to verify if the input buffer is capable of DMA. Signed-off-by: Tero Kristo <t-kristo@ti.com> Reported-by: Aparna Balasubramanian <aparnab@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
6a4967c3e1
commit
4c219855a5
@ -759,6 +759,13 @@ static int omap_sham_align_sgs(struct scatterlist *sg,
|
||||
while (nbytes > 0 && sg_tmp) {
|
||||
n++;
|
||||
|
||||
#ifdef CONFIG_ZONE_DMA
|
||||
if (page_zonenum(sg_page(sg_tmp)) != ZONE_DMA) {
|
||||
aligned = false;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (offset < sg_tmp->length) {
|
||||
if (!IS_ALIGNED(offset + sg_tmp->offset, 4)) {
|
||||
aligned = false;
|
||||
|
Loading…
Reference in New Issue
Block a user