| From: Ian Kent <raven@themaw.net> |
| Date: Fri, 20 Apr 2018 14:55:59 -0700 |
| Subject: autofs: mount point create should honour passed in mode |
| |
| commit 1e6306652ba18723015d1b4967fe9de55f042499 upstream. |
| |
| The autofs file system mkdir inode operation blindly sets the created |
| directory mode to S_IFDIR | 0555, ingoring the passed in mode, which can |
| cause selinux dac_override denials. |
| |
| But the function also checks if the caller is the daemon (as no-one else |
| should be able to do anything here) so there's no point in not honouring |
| the passed in mode, allowing the daemon to set appropriate mode when |
| required. |
| |
| Link: http://lkml.kernel.org/r/152361593601.8051.14014139124905996173.stgit@pluto.themaw.net |
| Signed-off-by: Ian Kent <raven@themaw.net> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| fs/autofs4/root.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/autofs4/root.c |
| +++ b/fs/autofs4/root.c |
| @@ -721,7 +721,7 @@ static int autofs4_dir_mkdir(struct inod |
| |
| autofs4_del_active(dentry); |
| |
| - inode = autofs4_get_inode(dir->i_sb, S_IFDIR | 0555); |
| + inode = autofs4_get_inode(dir->i_sb, S_IFDIR | mode); |
| if (!inode) |
| return -ENOMEM; |
| d_add(dentry, inode); |