Thread (1 message) 1 message, 1 author, 2023-02-06

Re: [PATCH 05/14] Add TSEM master header file.

From: Dr. Greg <hidden>
Date: 2023-02-06 00:10:56

On Sat, Feb 04, 2023 at 06:58:08PM -0800, Casey Schaufler wrote:
On 2/3/2023 9:09 PM, Dr. Greg wrote:
quoted
TSEM is designed, from a functional perspective, to be contained
entirely in its own directory.

The tsem.h header file defines the enumeration types, structure
definitions and externally visiable functions that are referenced
by the TSEM LSM implementation.
Hi Casey, thanks for taking the time to look at all of this and raise
issues, we appreciate the feedback.
This is really awkward.
With respect to awkward, those who know me well would never accuse me
of terpsichoric elegance, either balletic or in technology.... :-)
Without the uses of the structures and constants it's very difficult
to understand how any of this makes sense. It would be easier to
review if the structures and constants were introduced as they are
used rather than being presented in one massive dump.
With respect to any of this making sense, we've read and studied the
existing LSM's fairly extensively as we built TSEM, we accept our
prejudices of course, but we think that TSEM is probably one of the
easiest to follow conceptually.

Doesn't mean we can't do better though, particularly as we look at the
issue of that header file retrospectively.

I think where the presentation of the structures and enumeration
types, as a single entity falls down, is not explicitly documenting
the role and function of the structures and constants in that file.
We did that for the external functions in the compilation units and
should have done that for the contents of the include file.

I'm not sure that adding things to the include file incrementally will
be any more understandable without more explicit documentation.  If we
document them now, it should help not only the review process but
anyone who needs to look at the code down the road with a mind on
understanding whqt is going on.

Having the include file introduced as a standalone entity also assists
in reliably rolling a review patch set.  It is already easy enough to
make a mistake and we don't want to waste reviewer time and list
bandwidith with a blown patchset.

We will collect whatever additional comments are forthcoming and fully
document the contents of that file for the second spin of the patch.

Thanks again for your observations.

As always,
Dr. Greg

The Quixote Project - Flailing at the Travails of Cybersecurity
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help