Linux-ext4 Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH v2] create_inode: set xattrs to the root directory as well
@ 2020-07-17 10:08 Antoine Tenart
  2020-07-17 11:17 ` Andreas Dilger
  0 siblings, 1 reply; 3+ messages in thread
From: Antoine Tenart @ 2020-07-17 10:08 UTC (permalink / raw)
  To: linux-ext4; +Cc: Antoine Tenart, matthew.weber, thomas.petazzoni, adilger

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.

Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
---

Since v1:
  - Moved the set_inode_xattr logic for the root directory
    from __populate_fs to populate_fs2.

 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] create_inode: set xattrs to the root directory as well
  2020-07-17 10:08 [PATCH v2] create_inode: set xattrs to the root directory as well Antoine Tenart
@ 2020-07-17 11:17 ` Andreas Dilger
  2020-07-30  7:27   ` Antoine Tenart
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Dilger @ 2020-07-17 11:17 UTC (permalink / raw)
  To: Antoine Tenart; +Cc: Ext4 Developers List, matthew.weber, thomas.petazzoni


[-- Attachment #1: Type: text/plain, Size: 1580 bytes --]


> On Jul 17, 2020, at 4:08 AM, Antoine Tenart <antoine.tenart@bootlin.com> wrote:
> 
> 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.
> 
> Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>

Reviewed-by: Andreas Dilger <adilger@dilger.ca>

> ---
> 
> Since v1:
>  - Moved the set_inode_xattr logic for the root directory
>    from __populate_fs to populate_fs2.
> 
> 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
> 


Cheers, Andreas






[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 873 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] create_inode: set xattrs to the root directory as well
  2020-07-17 11:17 ` Andreas Dilger
@ 2020-07-30  7:27   ` Antoine Tenart
  0 siblings, 0 replies; 3+ messages in thread
From: Antoine Tenart @ 2020-07-30  7:27 UTC (permalink / raw)
  To: Andreas Dilger; +Cc: Ext4 Developers List, matthew.weber, thomas.petazzoni

Hello,

Gentle ping. What's the status of this patch?

Thanks!
Antoine

Quoting Andreas Dilger (2020-07-17 13:17:08)
> 
> > On Jul 17, 2020, at 4:08 AM, Antoine Tenart <antoine.tenart@bootlin.com> wrote:
> > 
> > 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.
> > 
> > Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
> 
> Reviewed-by: Andreas Dilger <adilger@dilger.ca>
> 
> > ---
> > 
> > Since v1:
> >  - Moved the set_inode_xattr logic for the root directory
> >    from __populate_fs to populate_fs2.
> > 
> > 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
> > 
> 
> 
> Cheers, Andreas
> 
> 
> 
> 
> 

-- 
Antoine Ténart, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-17 10:08 [PATCH v2] create_inode: set xattrs to the root directory as well Antoine Tenart
2020-07-17 11:17 ` Andreas Dilger
2020-07-30  7:27   ` Antoine Tenart

Linux-ext4 Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-ext4/0 linux-ext4/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-ext4 linux-ext4/ https://lore.kernel.org/linux-ext4 \
		linux-ext4@vger.kernel.org
	public-inbox-index linux-ext4

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-ext4


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git