Patch description says The LSM ID values are sequential, with the oldest module LSM_ID_CAPABILITY being the lowest value and the existing modules numbered in the order they were included in the main line kernel. This is an arbitrary convention for assigning the values, but none better presents itself. The value 0 is defined as being invalid. and your non-sequential assignment > But lsm_id::id is a u64 (not an enum!), so there is a HUGE space available. violated it. include/uapi/linux/lsm.h is a userspace API file, where we can't change this value after once defined. You withdraw your "Reviewed-by" response unless "The LSM ID values are sequential" and "must be approved by the LSM maintainers" are removed and "the LSM maintainers/community shall never complain about what names and/or values are assigned" is added, don't you? Quoting from https://lkml.kernel.org/r/4a6b6e2c-9872-4d4c-e42e-4ff0fb79f3ae@xxxxxxxxxxxxxxxxxxx : You are intentionally making life difficult for the out-of-tree LSMs, by requiring an LSM ID (and facilitating LSM ID collisions). No matter how priority of out-of-tree LSMs is low for you, what you are about to merge goes against the "developers try to avoid identifier collisions" effort. Introducing a numeric identifier is a good opportunity for permanently eliminating possibility of identifier collisions. But current usage of this numeric identifier is designed for facilitating possibility of identifier collisions. Keeping how the HUGE space is used under control of the LSM community will be better for both in-tree and out-of-tree LSM modules. I really can't understand why you don't want to utilize this opportunity.