-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 We were not returning proper error codes, which was causing udev to mislabel some files. This patch looks good to me. acked. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlJpJosACgkQrlYvE4MpobOHtQCfW3dsVtjsogtWPG1AKlYhsrN8 BngAoN6IwtMV74iw6WUzA9HE23bpZyF8 =fNxv -----END PGP SIGNATURE-----
>From 5831f7f78cae8a749b76b1fa928719df1313af08 Mon Sep 17 00:00:00 2001 From: Dan Walsh <dwalsh@xxxxxxxxxx> Date: Wed, 9 Oct 2013 15:25:58 -0400 Subject: [PATCH 13/74] Support udev-197 and higher The errno value was not set, causing wrong return notifications and failing to have udev label things correctly. See https://bugzilla.redhat.com/show_bug.cgi?id=909826#c24 and see https://bugs.gentoo.org/show_bug.cgi?id=462626 Signed-off-by: Sven Vermeulen <sven.vermeulen@xxxxxxxxx> --- libselinux/src/label_file.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libselinux/src/label_file.c b/libselinux/src/label_file.c index e1c09ba..c424a21 100644 --- a/libselinux/src/label_file.c +++ b/libselinux/src/label_file.c @@ -649,6 +649,8 @@ static struct selabel_lookup_rec *lookup(struct selabel_handle *rec, break; } else if (rc == PCRE_ERROR_NOMATCH) continue; + + errno = ENOENT; /* else it's an error */ goto finish; } @@ -660,6 +662,7 @@ static struct selabel_lookup_rec *lookup(struct selabel_handle *rec, goto finish; } + errno = 0; ret = &spec_arr[i].lr; finish: -- 1.8.3.1