From 955d6cb60f2a760d555022201586f6006703ff47 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Wed, 10 Aug 2016 11:19:44 +0800 Subject: e2fsprogs: Fix missing check for permission denied. If the path to "ROOT_SYSCONFDIR /mke2fs.conf" has a permission denied problem, then the get_dirlist() call will return EACCES. But the code in profile_init will treat that as a fatal error and all executions will fail with: Couldn't init profile successfully (error: 13). But the problem should not really be visible for the target package as the path then will be "/etc/mke2fs.conf", and it is not likely that a user have no permission to read /etc. (From OE-Core rev: 9d7c32a88e0670a09e5e1097ff8bca58e9a7943f) Signed-off-by: Jian Liu Signed-off-by: Jackie Huang Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...s-fix-missing-check-for-permission-denied.patch | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch (limited to 'meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch') diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch new file mode 100644 index 0000000000..33054c61fa --- /dev/null +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch @@ -0,0 +1,32 @@ +Subject: [PATCH] Fix missing check for permission denied. + +If the path to "ROOT_SYSCONFDIR/mke2fs.conf" has a permission denied problem, +then the get_dirlist() call will return EACCES. But the code in profile_init +will treat that as a fatal error and all executions will fail with: + Couldn't init profile successfully (error: 13). + +Upstream-Status: Pending + +Written-by: Henrik Wallin + +Signed-off-by: Jackie Huang +--- + lib/support/profile.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/support/profile.c b/lib/support/profile.c +index 51a3314..1c1039f 100644 +--- a/lib/support/profile.c ++++ b/lib/support/profile.c +@@ -335,7 +335,7 @@ profile_init(const char **files, profile_t *ret_profile) + *last = new_file; + last = &new_file->next; + } +- } else if ((retval != ENOTDIR) && ++ } else if ((retval != ENOTDIR) && (retval != EACCES) && + strcmp(*fs, default_filename)) + goto errout; + +-- +2.7.4 + -- cgit v1.2.3-54-g00ecf