scs: Report SCS usage in bytes rather than number of entries
authorWill Deacon <will@kernel.org>
Wed, 3 Jun 2020 11:16:37 +0000 (12:16 +0100)
committerWill Deacon <will@kernel.org>
Thu, 4 Jun 2020 15:14:56 +0000 (16:14 +0100)
Fix the SCS debug usage check so that we report the number of bytes
used, rather than the number of entries.

Fixes: 5bbaf9d1fcb9 ("scs: Add support for stack usage debugging")
Reported-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Will Deacon <will@kernel.org>
kernel/scs.c

index 222a7a9..5d4d9bb 100644 (file)
@@ -74,7 +74,7 @@ static void scs_check_usage(struct task_struct *tsk)
        for (p = task_scs(tsk); p < __scs_magic(tsk); ++p) {
                if (!READ_ONCE_NOCHECK(*p))
                        break;
-               used++;
+               used += sizeof(*p);
        }
 
        while (used > curr) {