mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 10:44:14 +08:00
remoteproc/mediatek: fix boundary check
It is valid if offset+length == sram_size. For example, sram_size=100, offset=99, length=1. Accessing offset 99 with length 1 is valid. Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Tzung-Bi Shih <tzungbi@google.com> Link: https://lore.kernel.org/r/20201116084413.3312631-2-tzungbi@google.com Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
parent
903635cbc7
commit
71ffb5a22b
@ -408,11 +408,11 @@ static void *scp_da_to_va(struct rproc *rproc, u64 da, size_t len)
|
||||
|
||||
if (da < scp->sram_size) {
|
||||
offset = da;
|
||||
if (offset >= 0 && (offset + len) < scp->sram_size)
|
||||
if (offset >= 0 && (offset + len) <= scp->sram_size)
|
||||
return (void __force *)scp->sram_base + offset;
|
||||
} else if (scp->dram_size) {
|
||||
offset = da - scp->dma_addr;
|
||||
if (offset >= 0 && (offset + len) < scp->dram_size)
|
||||
if (offset >= 0 && (offset + len) <= scp->dram_size)
|
||||
return scp->cpu_addr + offset;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user