RE: [PATCH v2 24/39] x86/cet/shstk: Add user-mode shadow stack support

From: David Laight
Date: Wed Oct 05 2022 - 09:33:07 EST


From: Kees Cook
> Sent: 04 October 2022 20:32
...
> Oh, yes! I do this all the time with FORTIFY shenanigans. Right, so,
> instead of a macro, the "cannot be un-inlined" could be enforced with
> this (untested):
>
> static __always_inline void set_clr_bits_msrl(u32 msr, u64 set, u64 clear)
> {
> u64 val, new_val;
>
> BUILD_BUG_ON(!__builtin_constant_p(msr) ||
> !__builtin_constant_p(set) ||
> !__builtin_constant_p(clear));

You can reduce the amount of text the brain has to parse
by using:

BUILD_BUG_ON(!__builtin_constant_p(msr + set + clear));

Just requires the brain to do a quick 'oh yes'...

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)