diff options
Diffstat (limited to 'arch/arm64/kernel/stacktrace.c')
-rw-r--r-- | arch/arm64/kernel/stacktrace.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm64/kernel/stacktrace.c b/arch/arm64/kernel/stacktrace.c index cfd46c227c8c..85aea381fbf6 100644 --- a/arch/arm64/kernel/stacktrace.c +++ b/arch/arm64/kernel/stacktrace.c @@ -15,6 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <linux/kasan.h> #include <linux/kernel.h> #include <linux/export.h> #include <linux/ftrace.h> @@ -62,6 +63,8 @@ int notrace unwind_frame(struct task_struct *tsk, struct stackframe *frame) if (fp < low || fp > high || fp & 0xf) return -EINVAL; + kasan_disable_current(); + frame->sp = fp + 0x10; frame->fp = *(unsigned long *)(fp); frame->pc = *(unsigned long *)(fp + 8); @@ -109,6 +112,8 @@ int notrace unwind_frame(struct task_struct *tsk, struct stackframe *frame) } } + kasan_enable_current(); + return 0; } |