On Mon, Oct 14, 2024 at 08:14:44AM -0700, Casey Schaufler wrote: > LSM: Replace secctx/len pairs with lsm_context > > Several of the Linux Security Module (LSM) interfaces use a pair of > pointers for transmitting security context data and data length. The > data passed is refered to as a security context. While all existing > modules provide nul terminated strings, there is no requirement that > they to so. Hence, the length is necessary. > > Security contexts are provided by a number of interfaces. The interface > security_release_secctx() is used when the caller is finished with the > data. Each of the security modules that provide security contexts manages > them differently. This was safe in the past, because only one security > module that provides security contexts is allowed to be active. To allow > multiple active modules that use security contexts it is necessary to > identify which security module created a security context. Adding a third > pointer to the interfaces for the LSM identification is not appealing. > > A new structure, lsm_context, is created for use in these interfaces. > It includes three members: the data pointer, the data length and > the LSM ID of its creator. The interfaces that create contexts and > security_release_secctx() now use a pointer to an lsm_context instead > of a pointer pair. > > The changes are mostly mechanical, and some scaffolding is used within > the patch set to allow for smaller individual patches. Hey Casey, so this set is not bisectable. Applying just patch 1 will no compile, right? What is your plan for getting past that? Squash some or all of them into one? Or are you planning a wider reorg of the patches down the line, once the basics of the end result are agreed upon? -serge