Thread (17 messages) flat view 17 messages, 6 authors, 2018-07-19

[PATCH] arm64: Clear the stack

From: Kees Cook <hidden>
Date: 2018-06-29 20:25:26
Also in: lkml

On Fri, Jun 29, 2018 at 1:22 PM, Laura Abbott [off-list ref] wrote:
On 06/29/2018 01:19 PM, Kees Cook wrote:
quoted
On Fri, Jun 29, 2018 at 12:05 PM, Laura Abbott [off-list ref] wrote:
quoted
Implementation of stackleak based heavily on the x86 version

Signed-off-by: Laura Abbott <redacted>
[...]
+#define current_top_of_stack() (task_stack_page(current) + THREAD_SIZE)
+#define on_thread_stack()      (on_task_stack(current,
current_stack_pointer))

nit on types here. I get some warnings:

kernel/stackleak.c:55:12: warning: assignment makes integer from
pointer without a cast [-Wint-conversion]
    boundary = current_top_of_stack();
             ^
kernel/stackleak.c:65:24: warning: assignment makes integer from
pointer without a cast [-Wint-conversion]
   current->lowest_stack = current_top_of_stack() - THREAD_SIZE / 64;
                         ^

So I think this needs to be:

+#define current_top_of_stack() ((unsigned long)task_stack_page(current) +
\
+                                THREAD_SIZE)
Argh, missed that in an amend, can fix for next version if there
are no other objections to this approach.
No worries! I've made the change locally and will push this out to
-next unless there are objections?

-Kees

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