From d66c54e2e23729c23e8fb18b3b91090c1cc2ce2f Mon Sep 17 00:00:00 2001 From: Stephen Smalley Date: Fri, 13 Jan 2017 09:51:48 -0500 Subject: [PATCH] libselinux: selinux_restorecon: only log no default label warning if recursive In commit 36f1ccbb574374 ("policycoreutils: setfiles: print error if no default label found"), a warning message was added to setfiles/restorecon if the user explicitly does a restorecon /path/to/foo and /path/to/foo does not have any matching label in file_contexts; in the case of a restorecon -R or setfiles, the warning isn't supposed to be logged. The check on the recursive flag got dropped when this logic was taken into selinux_restorecon(3) in libselinux. Restore this check so that we do not generate noisy log messages on restorecon -R or setfiles. Reported-by: Alan Jenkins Signed-off-by: Stephen Smalley --- libselinux/src/selinux_restorecon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libselinux/src/selinux_restorecon.c b/libselinux/src/selinux_restorecon.c index e38d1d0c..f5fa8f5a 100644 --- a/libselinux/src/selinux_restorecon.c +++ b/libselinux/src/selinux_restorecon.c @@ -613,7 +613,7 @@ static int restorecon_sb(const char *pathname, const struct stat *sb, sb->st_mode); if (rc < 0) { - if (errno == ENOENT && flags->verbose) + if (errno == ENOENT && flags->verbose && !flags->recurse) selinux_log(SELINUX_INFO, "Warning no default label for %s\n", lookup_path);