All of lore.kernel.org
 help / color / mirror / 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; 7+ 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 related	[flat|nested] 7+ 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; 7+ 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] 7+ 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
  2020-09-04  8:23     ` Antoine Tenart
  0 siblings, 1 reply; 7+ 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] 7+ messages in thread

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

Hello,

Quoting Antoine Tenart (2020-07-30 09:27:50)
> 
> Gentle ping. What's the status of this patch?

Do anyone know if anything else is required to get this merged?

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

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

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

* Re: [PATCH v2] create_inode: set xattrs to the root directory as well
  2020-09-04  8:23     ` Antoine Tenart
@ 2020-09-04 19:43       ` Andreas Dilger
  2020-09-07  7:27         ` Antoine Tenart
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Dilger @ 2020-09-04 19:43 UTC (permalink / raw)
  To: Antoine Tenart
  Cc: Theodore Ts'o, Ext4 Developers List, matthew.weber, thomas.petazzoni

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

On Sep 4, 2020, at 2:23 AM, Antoine Tenart <antoine.tenart@bootlin.com> wrote:
> 
> Hello,
> 
> Quoting Antoine Tenart (2020-07-30 09:27:50)
>> 
>> Gentle ping. What's the status of this patch?
> 
> Do anyone know if anything else is required to get this merged?

Based on other emails to the list, Ted has a backlog of patches to be
merged for ext4 and e2fsprogs, so it isn't that your patch was missed.
He will hopefully be able to start landing patches again soon.

Cheers, Andreas

>> 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
> 
> --
> Antoine Ténart, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com


Cheers, Andreas






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

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

* Re: [PATCH v2] create_inode: set xattrs to the root directory as well
  2020-09-04 19:43       ` Andreas Dilger
@ 2020-09-07  7:27         ` Antoine Tenart
  2020-12-15 18:38           ` Theodore Y. Ts'o
  0 siblings, 1 reply; 7+ messages in thread
From: Antoine Tenart @ 2020-09-07  7:27 UTC (permalink / raw)
  To: Andreas Dilger
  Cc: Theodore Ts'o, Ext4 Developers List, matthew.weber, thomas.petazzoni

Hello Andreas,

Quoting Andreas Dilger (2020-09-04 21:43:18)
> On Sep 4, 2020, at 2:23 AM, Antoine Tenart <antoine.tenart@bootlin.com> wrote:
> > Quoting Antoine Tenart (2020-07-30 09:27:50)
> >> 
> >> Gentle ping. What's the status of this patch?
> > 
> > Do anyone know if anything else is required to get this merged?
> 
> Based on other emails to the list, Ted has a backlog of patches to be
> merged for ext4 and e2fsprogs, so it isn't that your patch was missed.
> He will hopefully be able to start landing patches again soon.

Thanks for the explanation!

Antoine

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

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

* Re: [PATCH v2] create_inode: set xattrs to the root directory as well
  2020-09-07  7:27         ` Antoine Tenart
@ 2020-12-15 18:38           ` Theodore Y. Ts'o
  0 siblings, 0 replies; 7+ messages in thread
From: Theodore Y. Ts'o @ 2020-12-15 18:38 UTC (permalink / raw)
  To: Antoine Tenart
  Cc: Andreas Dilger, Ext4 Developers List, matthew.weber, thomas.petazzoni

Thanks, applied.

And apologies for the delay!

					- Ted

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

end of thread, other threads:[~2020-12-15 18:40 UTC | newest]

Thread overview: 7+ 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
2020-09-04  8:23     ` Antoine Tenart
2020-09-04 19:43       ` Andreas Dilger
2020-09-07  7:27         ` Antoine Tenart
2020-12-15 18:38           ` Theodore Y. Ts'o

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.