Question: The patch does the semantic equivalent of: -#define cap_clear(c) do { cap_t(c) = 0; } while(0) -#define cap_set_full(c) do { cap_t(c) = ~0; } while(0) +# define cap_clear(c) do { (c) = __cap_empty_set; } while (0) +# define cap_set_full(c) do { (c) = __cap_full_set; } while (0) +# define cap_set_init_eff(c) do { (c) = __cap_init_eff_set; } while (0) Was it intentional, or an oversight, that this blows chunks in modules that try to use cap_clear() or cap_set_full() because the __cap_* symbols don't get an EXPORT_SYMBOL() attached to them?