Thread (17 messages) 17 messages, 4 authors, 2021-02-04

Re: BUG: KASAN: stack-out-of-bounds in unwind_next_frame+0x1df5/0x2650

From: Josh Poimboeuf <hidden>
Date: 2021-02-04 20:29:31
Also in: bpf, dm-devel, lkml, netdev

On Thu, Feb 04, 2021 at 11:51:44AM -0800, Ivan Babrou wrote:
quoted
 .macro FUNC_SAVE
         #the number of pushes must equal STACK_OFFSET
+       push    %rbp
+       mov     %rsp, %rbp
         push    %r12
         push    %r13
         push    %r14
@@ -271,12 +273,14 @@ VARIABLE_OFFSET = 16*8
 .endm

 .macro FUNC_RESTORE
+        add     $VARIABLE_OFFSET, %rsp
         mov     %r14, %rsp

         pop     %r15
         pop     %r14
         pop     %r13
         pop     %r12
+       pop     %rbp
 .endm

 # Encryption of a single block
This patch seems to fix the following warning:

[  147.995699][    C0] WARNING: stack going in the wrong direction? at
glue_xts_req_128bit+0x21f/0x6f0 [glue_helper]

Or at least I cannot see it anymore when combined with your other
patch, not sure if it did the trick by itself.

This sounds like a good reason to send them both.
Ok, that's what I expected.

The other patch fixed the unwinder failure mode to be the above
(harmless) unwinder warning, instead of a disruptive KASAN failure.

This patch fixes the specific underlying crypto unwinding metadata
issue.

I'll definitely be sending both fixes.  The improved failure mode patch
will come first because it's more urgent and lower risk.

-- 
Josh

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help