On 2021-02-18 23:42, Florian Westphal wrote:
Richard Guy Briggs <rgb(a)redhat.com> wrote:
> > If they appear in a batch tehy will be ignored, if the batch consists of
> > such non-modifying ops only then nf_tables_commit() returns early
> > because the transaction list is empty (nothing to do/change).
>
> Ok, one little inconvenient question: what about GETOBJ_RESET? That
> looks like a hybrid that modifies kernel table counters and reports
> synchronously. That could be a special case call in
> nf_tables_dump_obj() and nf_tables_getobj(). Will that cause a storm
> per commit?
No, since they can't be part of a commit (they don't implement the
'call_batch' function).
Ok, good, so they should be safe (but still needs the gfp param to
audit_log_nfcfg() for atomic alloc in that obj reset callback).
I'm not sure GETOBJ_RESET should be reported in the first place:
RESET only affects expr internal state, and that state changes all the time
anyway in response to network traffic.
We report audit lost messages reset as a config change since it affects
the view that an admin has about a system. An unaccounted for reset
could mislead an administrator into thinking things are alright when
some messages were lost and there was nothing to show for it. I could
see similar situations with network entity counters.
- 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