From: Steve Grubb <sgrubb@redhat.com>
To: linux-audit@redhat.com
Cc: rgb@redhat.com
Subject: Re: audit_status in kernel
Date: Mon, 10 Mar 2014 18:25:46 -0400 [thread overview]
Message-ID: <27892229.0ex1XAQCcX@x2> (raw)
In-Reply-To: <2266202.J6IrG6ma9a@x2>
On Monday, March 10, 2014 05:48:06 PM Steve Grubb wrote:
> Hello,
>
> I was looking at a new kernel and see that the audit_status structure has
> changed. The first member of the structure is a bit mask that tells what all
> is in the structure. So, if we add this:
>
> __u32 version; /* audit api version number */
> __u32 backlog_wait_time;/* message queue wait timeout */
> };
>
> Then we need to have a define for those two:
>
> #define AUDIT_STATUS_BACKLOG_LIMIT 0x0010
> +#define AUDIT_STATTUS_VERSION 0x0020
> -#define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020
> +#define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0040
>
> IOW, each entry in the structure is supposed to have a mask value.
Actually, I think the problems are worse. We have the issue of an expanding
data structure over time as new things get added. But yet we have a fixed sized
audit_status structure. I could copy that into the audit package's source code
so that I have the new structure definition. But I will have to do the same
thing each time. Also, how would an old kernel tolerate a bigger audit_status
structure being sent with AUDIT_SET commands by a new auditctl?
What we should do is leave AUDIT_GET the way it was. We should then define
AUDIT_GET_EXT and then use it a lot like audit_rule_data which has
struct audit_status_ext {
__u32 field_count;
__u32 fields[AUDIT_MAX_FIELDS];
__u32 values[AUDIT_MAX_FIELDS];
};
Then insert the field identifier in fields and the value in the other. This way
the format is defined once and we can reuse it for a long time.
>From user space, the migration would be easy. Old auditctl still uses
AUDIT_GET. New auditctl would try AUDIT_GET_EXT and if that's not recognized,
drop back to AUDIT_GET. Then one day down the road we remove AUDIT_GET in the
kernel.
This is how we did the migration from AUDIT_RULES to AUDIT_RULES_DATA.
-Steve
next prev parent reply other threads:[~2014-03-10 22:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-10 21:48 audit_status in kernel Steve Grubb
2014-03-10 22:25 ` Steve Grubb [this message]
2014-03-10 23:14 ` Eric Paris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=27892229.0ex1XAQCcX@x2 \
--to=sgrubb@redhat.com \
--cc=linux-audit@redhat.com \
--cc=rgb@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.