Re: [PATCH v26 22/30] x86/cet/shstk: Add user-mode shadow stack support
From: Borislav Petkov
Date: Thu Apr 29 2021 - 12:46:03 EST
On Thu, Apr 29, 2021 at 09:17:06AM -0700, Yu, Yu-cheng wrote:
> The lock applies to both shadow stack and ibt. So maybe just "locked"?
Sure.
> vm_munmap() returns error as the following:
>
> (1) -EINVAL: address/size/alignment is wrong.
> For shadow stack, the kernel keeps track of it, this cannot/should not
> happen.
You mean nothing might corrupt
cet->shstk_base
cet->shstk_size
?
I can't count the ways I've heard "should not happen" before and then it
happening anyway.
So probably not but we better catch stuff like that instead of leaking.
> Should it happen, it is a bug.
Ack.
> The kernel can probably do WARN().
Most definitely WARN. You need to catch funsies like that. But WARN_ONCE
should be enough for now.
> (2) -ENOMEM: when doing __split_vma()/__vma_adjust(), kmem_cache_alloc()
> fails.
> Not much we can do. Perhaps WARN()?
You got it.
Bottom line is: if you can check for this and it is cheap, then
definitely. Code changes, gets rewritten, reorganized, the old
assertions change significance, and so on...
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette