#define MAX_INSN_SIZE          0x0003
 #define MAX_STACK_SIZE         64
 #define MIN_STACK_SIZE(ADDR) (((MAX_STACK_SIZE) < \
-       (((unsigned long)current_thread_info()) + THREAD_SIZE - (ADDR))) \
+       (((unsigned long)task_stack_page(current)) + THREAD_SIZE - (ADDR))) \
        ? (MAX_STACK_SIZE) \
-       : (((unsigned long)current_thread_info()) + THREAD_SIZE - (ADDR)))
+       : (((unsigned long)task_stack_page(current)) + THREAD_SIZE - (ADDR)))
 
 #define kretprobe_blacklist_size 0
 
 
        sp = __dump_trace(func, data, sp,
                          S390_lowcore.async_stack + frame_size - ASYNC_SIZE,
                          S390_lowcore.async_stack + frame_size);
-       if (task)
-               __dump_trace(func, data, sp,
-                            (unsigned long)task_stack_page(task),
-                            (unsigned long)task_stack_page(task) + THREAD_SIZE);
-       else
-               __dump_trace(func, data, sp,
-                            S390_lowcore.thread_info,
-                            S390_lowcore.thread_info + THREAD_SIZE);
+       task = task ?: current;
+       __dump_trace(func, data, sp,
+                    (unsigned long)task_stack_page(task),
+                    (unsigned long)task_stack_page(task) + THREAD_SIZE);
 }
 EXPORT_SYMBOL_GPL(dump_trace);