audit: create private file name copies when auditing inodes
authorPaul Moore <pmoore@redhat.com>
Tue, 30 Dec 2014 14:26:21 +0000 (09:26 -0500)
committerPaul Moore <pmoore@redhat.com>
Tue, 30 Dec 2014 14:26:21 +0000 (09:26 -0500)
commitfcf22d8267ad2601fe9b6c549d1be96401c23e0b
treeb03e9bd8e5986b0a670a7f41bedf366b6f6df121
parent041d7b98ffe59c59fdd639931dea7d74f9aa9a59
audit: create private file name copies when auditing inodes

Unfortunately, while commit 4a928436 ("audit: correctly record file
names with different path name types") fixed a problem where we were
not recording filenames, it created a new problem by attempting to use
these file names after they had been freed.  This patch resolves the
issue by creating a copy of the filename which the audit subsystem
frees after it is done with the string.

At some point it would be nice to resolve this issue with refcounts,
or something similar, instead of having to allocate/copy strings, but
that is almost surely beyond the scope of a -rcX patch so we'll defer
that for later.  On the plus side, only audit users should be impacted
by the string copying.

Reported-by: Toralf Foerster <toralf.foerster@gmx.de>
Signed-off-by: Paul Moore <pmoore@redhat.com>
kernel/auditsc.c