On Mon, 2020-12-28 at 11:22 -0800, Casey Schaufler wrote:
On 12/28/2020 9:54 AM, Mimi Zohar wrote:
> Hi Casey,
>
> On Fri, 2020-11-20 at 12:14 -0800, Casey Schaufler wrote:
>> When more than one security module is exporting data to
>> audit and networking sub-systems a single 32 bit integer
>> is no longer sufficient to represent the data. Add a
>> structure to be used instead.
>>
>> The lsmblob structure is currently an array of
>> u32 "secids". There is an entry for each of the
>> security modules built into the system that would
>> use secids if active. The system assigns the module
>> a "slot" when it registers hooks. If modules are
>> compiled in but not registered there will be unused
>> slots.
>>
>> A new lsm_id structure, which contains the name
>> of the LSM and its slot number, is created. There
>> is an instance for each LSM, which assigns the name
>> and passes it to the infrastructure to set the slot.
>>
>> The audit rules data is expanded to use an array of
>> security module data rather than a single instance.
>> Because IMA uses the audit rule functions it is
>> affected as well.
> This patch is quite large, even without the audit rule change. I would
> limit this patch to the new lsm_id structure changes. The audit rule
> change should be broken out as a separate patch so that the audit
> changes aren't hidden.
Breaking up the patch in any meaningful way would require
scaffolding code that is as extensive and invasive as the
final change. I can do that if you really need it, but it
won't be any easier to read.
Hidden in this patch is the new behavior of security_audit_rule_init(),
security_audit_rule_free(), and security_audit_rule_match(). My
concern is with label collision. Details are in a subsequent post.
Can an LSM prevent label collision?
> In addition, here are a few high level nits:
> - The (patch description) body of the explanation, line wrapped at 75
> columns, which will be copied to the permanent changelog to describe
> this patch. (Refer Documentation/process/submitting-patches.rst.)
Will fix.
> - The brief kernel-doc descriptions should not have a trailing period.
> Nor should kernel-doc variable definitions have a trailing period.
> Example(s) inline below. (The existing kernel-doc is mostly correct.)
Will fix.
> - For some reason existing comments that span multiple lines aren't
> formatted properly. In those cases, where there is another change,
> please fix the comment and function description.
Can you give an example? There are multiple comment styles
used in the various components.
Never mind. All three examples are in tomoyo.
I don't see any comments on the ima code changes. I really
don't want to spin a new patch set that does nothing but change
two periods in comments only to find out two months from now
that the code changes are completely borked. I really don't
want to go through the process of breaking up the patch that has
been widely Acked if there's no reason to expect it would require
significant work otherwise.
Understood.