On Wed, Oct 06, 2021 at 03:58:14PM +0100, Matthew Wilcox wrote: > David expressed some unease about the lack of typesafety in patches > 1 & 2 of the page->slab conversion [1], and I'll admit to not being > particularly a fan of passing around an unsigned long. That crystallised > in a discussion with Kent [2] about how to lock a page when you don't know > its type (solution: every memory descriptor type starts with a > pgflags_t) Why bother making it a struct? What's wrong with __bitwise and letting sparse catch conversions?