Re: [PATCH] stackdepot: Use a raw spinlock in stack depot

From: Andi Kleen
Date: Tue May 04 2021 - 11:34:17 EST



So why is this a false positive that we just need to silence?
I see LOCKDEP is saying we are doing something wrong, and your
description just describes how we are doing something wrong :)
If this is a special false positive case, it would be good to have a
comment on DEFINE_RAW_SPINLOCK explaining why we are using it.

I wonder why we never saw this on syzbot. Is it an RT kernel or some
other special config?

This happened in a special configuration that triggered ACPI errors at boot time.

It's probably not something that is normally executed, as well as syzbot is

probably not exercising bootup anyways.

A similar issue was discussed recently for RT kernel:
https://groups.google.com/g/kasan-dev/c/MyHh8ov-ciU/m/nahiuqFLAQAJ
And I think it may be fixable in the same way -- make stackdepot not
allocate in contexts where it's not OK to allocate.


Yes that's a good idea. I've seen also other errors about the allocator triggered

by stack depot being in the wrong context. Probably doing that would be the right

fix. But I actually tried to switch depot to GFP_ATOMIC allocations (from GFP_NOWAIT),

but it didn't help, so I'm not fully sure what needs to be changed.

-Andi