]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
misc: tegra-profiler: fix Coverity issue of NULL dereference
authorDeepak Nibade <dnibade@nvidia.com>
Fri, 25 Jul 2014 07:05:45 +0000 (12:35 +0530)
committerDhiren Parmar <dparmar@nvidia.com>
Tue, 12 Aug 2014 12:49:02 +0000 (05:49 -0700)
Pointer "pt_regs *regs" is first dereferenced and then checked for NULL
To fix this move NULL checking to beginning of function
Coverity id : 26686

Bug 1416640

Change-Id: I40e97e38e5a61a5d77ea68fa511e996f24385cfc
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/447532
(cherry picked from commit 4651be4faa111a0ff64a924889b69ec56ae19ace)
Reviewed-on: http://git-master/r/454484
Reviewed-by: Igor Nabirushkin <inabirushkin@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: Maxim Morin <mmorin@nvidia.com>
Reviewed-by: Mitch Luban <mluban@nvidia.com>
drivers/misc/tegra-profiler/eh_unwind.c

index 60ae9c440adadac765b2a54f05abab0ec56215d2..2d6c6960e9f9e04971074e6d7485e19a28c2f096 100644 (file)
@@ -1021,6 +1021,9 @@ quadd_get_user_callchain_ut(struct pt_regs *regs,
        struct ex_region_info ri;
        struct stackframe frame;
 
+       if (!regs || !mm)
+               return 0;
+
 #ifdef CONFIG_ARM64
        if (!compat_user_mode(regs)) {
                pr_warn_once("user_mode 64: unsupported\n");
@@ -1033,9 +1036,6 @@ quadd_get_user_callchain_ut(struct pt_regs *regs,
 
        cc->unw_rc = QUADD_URC_FAILURE;
 
-       if (!regs || !mm)
-               return 0;
-
        if (nr_prev > 0) {
                ip = cc->curr_pc;
                sp = cc->curr_sp;