| From 1826d8965057bd84517156a4b75c81bdfdae9ebc Mon Sep 17 00:00:00 2001 |
| From: Antoine Tenart <antoine.tenart@bootlin.com> |
| Date: Wed, 1 Jul 2020 10:06:03 +0200 |
| Subject: [PATCH] create_inode: set xattrs to the root directory as well |
| |
| populate_fs do copy the xattrs for all files and directories, but the |
| root directory is skipped and as a result its extended attributes aren't |
| set. This is an issue when using mkfs to build a full system image that |
| can be used with SElinux in enforcing mode without making any runtime |
| fix at first boot. |
| |
| This patch adds logic to set the root directory's extended attributes. |
| |
| [Uspstream status: sent to the mailing list and has a Reviewed-by tag, |
| https://lore.kernel.org/linux-ext4/20200717100846.497546-1-antoine.tenart@bootlin.com/] |
| |
| Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> |
| --- |
| misc/create_inode.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| diff --git a/misc/create_inode.c b/misc/create_inode.c |
| index e8d1df6b55a5..fe66faf1b53d 100644 |
| --- a/misc/create_inode.c |
| +++ b/misc/create_inode.c |
| @@ -1050,9 +1050,17 @@ errcode_t populate_fs2(ext2_filsys fs, ext2_ino_t parent_ino, |
| file_info.path_max_len = 255; |
| file_info.path = calloc(file_info.path_max_len, 1); |
| |
| + retval = set_inode_xattr(fs, root, source_dir); |
| + if (retval) { |
| + com_err(__func__, retval, |
| + _("while copying xattrs on root directory")); |
| + goto out; |
| + } |
| + |
| retval = __populate_fs(fs, parent_ino, source_dir, root, &hdlinks, |
| &file_info, fs_callbacks); |
| |
| +out: |
| free(file_info.path); |
| free(hdlinks.hdl); |
| return retval; |
| -- |
| 2.26.2 |
| |