diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2017-01-31 14:01:07 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-01-31 14:01:06 -0800 |
commit | 1fda242d283771fc64c6b4811bb71e377701aa9a (patch) | |
tree | 1846212a837bf7bcbaddc492480295cd050a8912 /drivers/misc | |
parent | ec2c50f78a91232118a4a5cf1c54aeae531cd8af (diff) | |
parent | 3460635526f7a293dc4481cc140e0cd60f5914ed (diff) |
Merge "ASoC: msm: qdsp6v2: extend validation of virtual address"
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/qcom/qdsp6v2/audio_utils_aio.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/misc/qcom/qdsp6v2/audio_utils_aio.c b/drivers/misc/qcom/qdsp6v2/audio_utils_aio.c index c963280e5bf5..b7af80854420 100644 --- a/drivers/misc/qcom/qdsp6v2/audio_utils_aio.c +++ b/drivers/misc/qcom/qdsp6v2/audio_utils_aio.c @@ -1,6 +1,6 @@ /* Copyright (C) 2008 Google, Inc. * Copyright (C) 2008 HTC Corporation - * Copyright (c) 2009-2016, The Linux Foundation. All rights reserved. + * Copyright (c) 2009-2017, The Linux Foundation. All rights reserved. * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and @@ -119,7 +119,10 @@ static int audio_aio_ion_lookup_vaddr(struct q6audio_aio *audio, void *addr, list_for_each_entry(region_elt, &audio->ion_region_queue, list) { if (addr >= region_elt->vaddr && addr < region_elt->vaddr + region_elt->len && - addr + len <= region_elt->vaddr + region_elt->len) { + addr + len <= region_elt->vaddr + region_elt->len && + addr + len > addr) { + /* to avoid integer addition overflow */ + /* offset since we could pass vaddr inside a registerd * ion buffer */ |