On Fri, Jan 6, 2023 at 1:42 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > I'd be more inclined to do: > > typedef unsigned int vm_flags_t[2]; No, that's entirely invalid. Never *ever* use arrays in C for type safety. Arrays are not type safe. They can't be assigned sanely, and they silently become pointers (which also aren't type-safe, since they end up converting silently to 'void *'). If you want to use the type system to enforce things, and you don't want to rely on sparse, you absolutely have to use a struct (or union) type. So something like typedef struct { u64 val; } vm_flags_t; would be an option. Linus