summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorIgor Nabirushkin <inabirushkin@nvidia.com>2013-08-05 17:29:32 +0400
committerGabby Lee <galee@nvidia.com>2013-08-20 18:29:59 -0700
commit34b4fb92906ca867879713c5bdd8076d5d0c0c4a (patch)
treed6da813e3304e637c8d679b6192af23bf6e81dd6 /drivers
parent0fbe177ed0b5663e63ba97d4107a69a176a136aa (diff)
misc: tegra-profiler: fix backtracing
check_vma_address function: sometimes (rarely): address value may be overflowed. Bug 1312406 Change-Id: I50bdb89a92cc1ad28d57dc67a7c15c8d1ebebd6a Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: http://git-master/r/258205 GVS: Gerrit_Virtual_Submit Reviewed-by: Daniel Horowitz <dhorowitz@nvidia.com> Tested-by: Daniel Horowitz <dhorowitz@nvidia.com> Reviewed-by: Gabby Lee <galee@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/misc/tegra-profiler/backtrace.c6
-rw-r--r--drivers/misc/tegra-profiler/version.h2
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/misc/tegra-profiler/backtrace.c b/drivers/misc/tegra-profiler/backtrace.c
index dd7c67cded5a..ea68e98ae5a6 100644
--- a/drivers/misc/tegra-profiler/backtrace.c
+++ b/drivers/misc/tegra-profiler/backtrace.c
@@ -38,12 +38,14 @@ quadd_callchain_store(struct quadd_callchain *callchain_data, u32 ip)
static int
check_vma_address(unsigned long addr, struct vm_area_struct *vma)
{
- unsigned long start, end;
+ unsigned long start, end, length;
if (vma) {
start = vma->vm_start;
end = vma->vm_end;
- if (addr >= start && addr + sizeof(unsigned long) <= end)
+ length = end - start;
+ if (length > sizeof(unsigned long) &&
+ addr >= start && addr <= end - sizeof(unsigned long))
return 0;
}
return -EINVAL;
diff --git a/drivers/misc/tegra-profiler/version.h b/drivers/misc/tegra-profiler/version.h
index b71e8d8b4240..6bfd1a30d3c0 100644
--- a/drivers/misc/tegra-profiler/version.h
+++ b/drivers/misc/tegra-profiler/version.h
@@ -18,7 +18,7 @@
#ifndef __QUADD_VERSION_H
#define __QUADD_VERSION_H
-#define QUADD_MODULE_VERSION "1.24"
+#define QUADD_MODULE_VERSION "1.25"
#define QUADD_MODULE_BRANCH "Blackrock2"
#endif /* __QUADD_VERSION_H */