When building on some old system with old kernel headers, the
gen_tables.c program (built natively) doesn't build due to missing
EHWPOISON. This commit defines EHWPOISON to the value found in
asm-generic kernel headers, which is correct for most (but not all
architectures).

Anyway, the whole concept of building a program on the host to generate
a table with errno values, then built into a target program is
inherently broken, so our fix is not more broken than the rest of the
mechanism used by audit.

Signed-off-by: Thomas Petazzoni <thomas.petazz...@free-electrons.com>
---
 lib/gen_tables.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/gen_tables.c b/lib/gen_tables.c
index 98f576c..d0bb7f5 100644
--- a/lib/gen_tables.c
+++ b/lib/gen_tables.c
@@ -55,6 +55,15 @@
 #define SHMGET          23
 #define SHMCTL          24
 
+/*
+ * Values from asm-generic, might be different on other architectures,
+ * but anyway the concept of building a program on the host to
+ * generate errno related tables used on another architecture is
+ * broken.
+ */
+#ifndef EHWPOISON
+#define EHWPOISON      133
+#endif
 
 /* The ratio of table size to number of non-empty elements allowed for a
    "direct" s2i table; if the ratio would be bigger, bsearch tables are used
-- 
2.7.4

--
Linux-audit mailing list
Linux-audit@redhat.com
https://www.redhat.com/mailman/listinfo/linux-audit

Reply via email to