In certain environments (vserver and OpenVZ come to mind), /proc/kmsg is not readable, not even for root. On these systems, emit a warning, and skip it, instead of aborting the startup. Reported-by: Tamas Pal <folti@balabit.hu> Signed-off-by: Gergely Nagy <algernon@balabit.hu> --- modules/system-source/system-source.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/system-source/system-source.c b/modules/system-source/system-source.c index 3c72859..955ade7 100644 --- a/modules/system-source/system-source.c +++ b/modules/system-source/system-source.c @@ -167,8 +167,17 @@ system_sysblock_add_linux_kmsg(GString *sysblock) close (fd); } - system_sysblock_add_file(sysblock, kmsg, -1, - "kernel", "kernel", format); + if (access(kmsg, R_OK) == -1) + { + msg_warning("system(): The kernel message buffer is not readable, " + "please check permissions if this is unintentional.", + evt_tag_str("device", kmsg), + evt_tag_errno("error", errno), + NULL); + } + else + system_sysblock_add_file(sysblock, kmsg, -1, + "kernel", "kernel", format); } gboolean -- 1.7.10.4