aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/process.c
diff options
context:
space:
mode:
authorRob Clark <robdclark@chromium.org>2021-12-06 09:13:49 -0800
committerRob Clark <robdclark@chromium.org>2021-12-06 09:14:28 -0800
commit83b965d118cbab1dbdfffdff8cabc8c1cfd183c6 (patch)
treef46a8f6d854b05a47311125f6fd6b6081e79557a /arch/x86/kernel/process.c
parentmailmap: add and update email addresses (diff)
parentMerge tag 'drm-intel-next-2021-11-30' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (diff)
downloadlinux-dev-83b965d118cbab1dbdfffdff8cabc8c1cfd183c6.tar.xz
linux-dev-83b965d118cbab1dbdfffdff8cabc8c1cfd183c6.zip
Merge remote-tracking branch 'drm/drm-next' into msm-next-staging
Backmerge drm-next to pull in: 8f59ee9a570c ("drm/msm/dsi: Adjust probe order") Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'arch/x86/kernel/process.c')
-rw-r--r--arch/x86/kernel/process.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index e9ee8b526319..04143a653a8a 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -964,6 +964,9 @@ unsigned long __get_wchan(struct task_struct *p)
struct unwind_state state;
unsigned long addr = 0;
+ if (!try_get_task_stack(p))
+ return 0;
+
for (unwind_start(&state, p, NULL, NULL); !unwind_done(&state);
unwind_next_frame(&state)) {
addr = unwind_get_return_address(&state);
@@ -974,6 +977,8 @@ unsigned long __get_wchan(struct task_struct *p)
break;
}
+ put_task_stack(p);
+
return addr;
}