mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 00:34:20 +08:00
Blackfin arch: check pointers in safe_dma_memcpy
Check pointers in safe_dma_memcpy as this is the entry point for user-space code Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
parent
c9e0020d49
commit
49946e7329
@ -596,11 +596,18 @@ void *dma_memcpy(void *dest, const void *src, size_t size)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(dma_memcpy);
|
EXPORT_SYMBOL(dma_memcpy);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* safe_dma_memcpy - DMA memcpy w/argument checking
|
||||||
|
*
|
||||||
|
* Verify arguments are safe before heading to dma_memcpy().
|
||||||
|
*/
|
||||||
void *safe_dma_memcpy(void *dest, const void *src, size_t size)
|
void *safe_dma_memcpy(void *dest, const void *src, size_t size)
|
||||||
{
|
{
|
||||||
void *addr;
|
if (!access_ok(VERIFY_WRITE, dst, size))
|
||||||
addr = dma_memcpy(dest, src, size);
|
return NULL;
|
||||||
return addr;
|
if (!access_ok(VERIFY_READ, src, size))
|
||||||
|
return NULL;
|
||||||
|
return dma_memcpy(dst, src, size);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(safe_dma_memcpy);
|
EXPORT_SYMBOL(safe_dma_memcpy);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user