aboutsummaryrefslogtreecommitdiff
path: root/package/audit
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-07-06 21:14:35 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-07-06 21:14:35 +0200
commit36e076a2a9508a41dc0e4d6faf3a59b93c9be077 (patch)
tree85c3cca0c852a21ae980d88e9b2c60ebb9b4eefc /package/audit
parent61c26cc8170e187ab6aa4175630fb6c9bfaf0a14 (diff)
downloadbuildroot-36e076a2a9508a41dc0e4d6faf3a59b93c9be077.tar.gz
buildroot-36e076a2a9508a41dc0e4d6faf3a59b93c9be077.tar.bz2
audit: fix build with older kernel versions
This commit adds a patch to audit that fixes the build with kernel headers newer than 3.13, but older than 3.19. The patch has been submitted upstream. Fixes: http://autobuild.buildroot.net/results/2d3b2f8c2b9f7f2e04b88b1dccb83e183b5876b6/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/audit')
-rw-r--r--package/audit/0002-Fix-usage-of-audit_status.feature_bitmap.patch59
-rw-r--r--package/audit/audit.mk2
2 files changed, 61 insertions, 0 deletions
diff --git a/package/audit/0002-Fix-usage-of-audit_status.feature_bitmap.patch b/package/audit/0002-Fix-usage-of-audit_status.feature_bitmap.patch
new file mode 100644
index 0000000000..a6af43b0af
--- /dev/null
+++ b/package/audit/0002-Fix-usage-of-audit_status.feature_bitmap.patch
@@ -0,0 +1,59 @@
+From f9e4d6aa957c0728827d7efee44a57f887766ae6 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Wed, 6 Jul 2016 20:22:11 +0200
+Subject: [PATCH] Fix usage of audit_status.feature_bitmap
+
+The feature_bitmap field of "struct audit_status" only appeared in
+kernel headers >= 3.19. However, the code using it in libaudit.c is only
+conditional on the existence of AUDIT_FEATURE_VERSION, which has been
+added in Linux 3.13.
+
+This means that building audit with kernel headers >= 3.13 but < 3.19
+currently fails:
+
+libaudit.c: In function 'load_feature_bitmap':
+libaudit.c:609:33: error: 'struct audit_status' has no member named 'feature_bitmap'
+ features_bitmap = rep.status->feature_bitmap;
+ ^
+libaudit.c: In function 'audit_rule_fieldpair_data':
+libaudit.c:1424:9: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
+ 4294967295;
+
+This commit fixes that by testing the availability of the feature_bitmap
+field.
+
+Submitted upstream: https://www.redhat.com/archives/linux-audit/2016-July/msg00022.html
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac | 1 +
+ lib/libaudit.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 219720b..00788c4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -64,6 +64,7 @@ AC_CHECK_SIZEOF([unsigned int])
+ AC_CHECK_SIZEOF([unsigned long])
+ AM_PROG_CC_C_O
+ AC_CHECK_DECLS([AUDIT_FEATURE_VERSION], [], [], [[#include <linux/audit.h>]])
++AC_CHECK_MEMBERS([struct audit_status.feature_bitmap], [], [], [[#include <linux/audit.h>]])
+ AC_CHECK_DECLS([AUDIT_VERSION_BACKLOG_WAIT_TIME], [], [], [[#include <linux/audit.h>]])
+ AC_CHECK_DECLS([ADDR_NO_RANDOMIZE],,, [#include <sys/personality.h>])
+ dnl; posix_fallocate is used in audisp-remote
+diff --git a/lib/libaudit.c b/lib/libaudit.c
+index 2c96f29..510d841 100644
+--- a/lib/libaudit.c
++++ b/lib/libaudit.c
+@@ -579,7 +579,7 @@ static void load_feature_bitmap(void)
+ return;
+ }
+
+-#if HAVE_DECL_AUDIT_FEATURE_VERSION
++#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) && defined(HAVE_STRUCT_AUDIT_STATUS_FEATURE_BITMAP)
+ if ((rc = audit_request_status(fd)) > 0) {
+ struct audit_reply rep;
+ int i;
+--
+2.7.4
+
diff --git a/package/audit/audit.mk b/package/audit/audit.mk
index 54860503ef..849b68ac41 100644
--- a/package/audit/audit.mk
+++ b/package/audit/audit.mk
@@ -8,6 +8,8 @@ AUDIT_VERSION = 2.6.2
AUDIT_SITE = http://people.redhat.com/sgrubb/audit
AUDIT_LICENSE = GPLv2
AUDIT_LICENSE_FILES = COPYING
+# 0002-Fix-usage-of-audit_status.feature_bitmap.patch
+AUDIT_AUTORECONF = YES
AUDIT_INSTALL_STAGING = YES