chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ask-password: rename ask-password-agent to gnome-ask-password-agent
[elogind.git]
/
src
/
label.c
diff --git
a/src/label.c
b/src/label.c
index 8b807847fd883db4d1cba9dce41d9c0c6850c006..809b1ee64656fb5a75c590a73ee16c44551f28b5 100644
(file)
--- a/
src/label.c
+++ b/
src/label.c
@@
-76,11
+76,20
@@
int label_fix(const char *path) {
if (r == 0) {
r = selabel_lookup_raw(label_hnd, &fcon, path, st.st_mode);
if (r == 0) {
r = selabel_lookup_raw(label_hnd, &fcon, path, st.st_mode);
+ /* If there's no label to set, then exit without warning */
+ if (r < 0 && errno == ENOENT)
+ return 0;
+
if (r == 0) {
r = setfilecon(path, fcon);
freecon(fcon);
if (r == 0) {
r = setfilecon(path, fcon);
freecon(fcon);
+
+ /* If the FS doesn't support labels, then exit without warning */
+ if (r < 0 && errno == ENOTSUP)
+ return 0;
}
}
}
}
+
if (r < 0) {
log_full(security_getenforce() == 1 ? LOG_ERR : LOG_DEBUG,
"Unable to fix label of %s: %m", path);
if (r < 0) {
log_full(security_getenforce() == 1 ? LOG_ERR : LOG_DEBUG,
"Unable to fix label of %s: %m", path);