On Wed, Feb 8, 2023 at 10:27 AM Steve Grubb <sgrubb(a)redhat.com>
wrote:
 > On Wednesday, February 8, 2023 10:03:24 AM EST Paul Moore wrote:
 > > On Wed, Feb 8, 2023 at 7:08 AM Jan Kara <jack(a)suse.cz> wrote:
 > > > On Tue 07-02-23 09:54:11, Paul Moore wrote:
 > > > > On Tue, Feb 7, 2023 at 7:09 AM Jan Kara <jack(a)suse.cz> wrote:
 > > > > > On Fri 03-02-23 16:35:13, Richard Guy Briggs wrote:
 > > > > > > The Fanotify API can be used for access control by
requesting
 > > > > > > permission
 > > > > > > event notification. The user space tooling that uses it may
have a
 > > > > > > complicated policy that inherently contains additional
context for
 > > > > > > the
 > > > > > > decision. If this information were available in the audit
trail,
 > > > > > > policy
 > > > > > > writers can close the loop on debugging policy. Also, if
this
 > > > > > > additional
 > > > > > > information were available, it would enable the creation of
tools
 > > > > > > that
 > > > > > > can suggest changes to the policy similar to how
audit2allow can
 > > > > > > help
 > > > > > > refine labeled security.
 > > > > > >
 > > > > > > This patchset defines a new flag (FAN_INFO) and new
extensions that
 > > > > > > define additional information which are appended after the
response
 > > > > > > structure returned from user space on a permission event. 
The
 > > > > > > appended
 > > > > > > information is organized with headers containing a type and
size
 > > > > > > that
 > > > > > > can be delegated to interested subsystems.  One new
information
 > > > > > > type is
 > > > > > > defined to audit the triggering rule number.
 > > > > > >
 > > > > > > A newer kernel will work with an older userspace and an
older
 > > > > > > kernel
 > > > > > > will behave as expected and reject a newer userspace,
leaving it up
 > > > > > > to
 > > > > > > the newer userspace to test appropriately and adapt as
necessary.
 > > > > > > This
 > > > > > > is done by providing a a fully-formed FAN_INFO extension
but
 > > > > > > setting the
 > > > > > > fd to FAN_NOFD.  On a capable kernel, it will succeed but
issue no
 > > > > > > audit
 > > > > > > record, whereas on an older kernel it will fail.
 > > > > > >
 > > > > > > The audit function was updated to log the additional
information in
 > > > > > > the
 > > > > > > AUDIT_FANOTIFY record. The following are examples of the
new record
 > > > > > >
 > > > > > > format:
 > > > > > >   type=FANOTIFY msg=audit(1600385147.372:590): resp=2
fan_type=1
 > > > > > >   fan_info=3137 subj_trust=3 obj_trust=5 type=FANOTIFY
 > > > > > >   msg=audit(1659730979.839:284): resp=1 fan_type=0
fan_info=0
 > > > > > >   subj_trust=2 obj_trust=2> > >
 > > > > > Thanks! I've applied this series to my tree.
 > > > >
 > > > > While I think this version of the patchset is fine, for future
 > > > > reference it would have been nice if you had waited for my ACK on
 > > > > patch 3/3; while Steve maintains his userspace tools, I'm the
one
 > > > > responsible for maintaining the Linux Kernel's audit subsystem.
 > > >
 > > > Aha, I'm sorry for that. I had the impression that on the last version
of
 > > > the series you've said you don't see anything for which the series
should
 > > > be respun so once Steve's objections where addressed and you were
silent
 > > > for a few days, I thought you consider the thing settled... My bad.
 > >
 > > That's understandable, especially given inconsistencies across
 > > subsystems.  If it helps, if I'm going to ACK something I make it
 > > explicit with a proper 'Acked-by: ...' line in my reply; if I say
 > > something looks good but there is no explicit ACK, there is usually
 > > something outstanding that needs to be resolved, e.g. questions,
 > > additional testing, etc.
 > >
 > > In this particular case I posed some questions in that thread and
 > > never saw a reply with any answers, hence the lack of an ACK.  While I
 > > think the patches were reasonable, I withheld my ACK until the
 > > questions were answered ... which they never were from what I can
 > > tell, we just saw a new patchset with changes.
 > >
 > > /me shrugs
 >
 > Paul,
 >
 > I reread the thread. You only had a request to change if/else to a switch
 > construct only if there was a respin for the 3F. You otherwise said get
 > Steve's input and the 3F borders on being overly clever. Both were addressed.
 > If you had other questions that needed answers on, please restate them to
 > expedite approval of this set of patches. As far as I can tell, all comments
 > are addressed.
 
 Steve,
 
 It might be helpful to reread my reply below:
 
https://lore.kernel.org/linux-audit/CAHC9VhRWDD6Tk6AEmgoobBkcVKRYbVOte7-F...
 
 You'll see that I made a comment in that email about not following
 Richard's explanation about "encoding the zero" (the patch was
 encoding a "?" to the best I could tell).  I was hoping for some
 clarification from Richard on his comments, and I never saw anything
 in my inbox.  I just checked the archives on lore and I don't see
 anything there either. 
Well, it could have been any of:
	?
	"?"
	3F
	30
	0
I can't answer that.  My preference is for 3F but good arguments can be
made for any of these.  I defer to Steve since it is his tools and
customers that have to deal with it.
- RGB
--
Richard Guy Briggs <rgb(a)redhat.com>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
IRC: rgb, SunRaycer
Voice: +1.647.777.2635, Internal: (81) 32635