Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Robert Yang <liezhi.yang@windriver.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>,
	Armin Kuster <akuster808@gmail.com>,
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] e2fsprogs: update to 1.45.5
Date: Mon, 24 Feb 2020 19:13:00 +0800	[thread overview]
Message-ID: <89e6bbf2-51ca-4dcf-46b3-e484d228f579@windriver.com> (raw)
In-Reply-To: <1f5759550013cdb49ebfb34194863af3d9dbcf6c.camel@linuxfoundation.org>

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


On 2/24/20 6:23 PM, Richard Purdie wrote:
> On Sun, 2020-02-23 at 19:12 -0800, Armin Kuster wrote:
>> Dropping patch 0001-misc-create_inode.c-set-dir-s-mode-
>> correctly.patch as upstream has not been accepted for over 2 years
>> and we should not carry it if upstream has not taking it after all
>> that time.
> 
> Looking at the patch, this worries me a lot. Why have upstream not
> taken it? Did they say it was incorrect?

I can't find any records about it, maybe I didn't send it because of
some reason.

We still need it. I refreshed the patch and sent to upstream.

@Armin, The refreshed patch is in the attachment.

// Robert

> 
> We wrote the original code to handle offline root here so its entirely
> possible this is a value issue and we'll break filesystems if we don't
> have that patch :(
> 
> I can't take a change like this without more info, CVE or not.

> 
> Cheers,
> 
> Richard
> 
> 
>> Includes: CVE-2019-5188
>>
>> see http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.45.5
>> for more information.
>>
>> Signed-off-by: Armin Kuster <akuster808@gmail.com>
>> ---
>>   ...ate_inode.c-set-dir-s-mode-correctly.patch | 41 ---------------
>> ----
>>   ...2fsprogs_1.45.4.bb => e2fsprogs_1.45.5.bb} |  3 +-
>>   2 files changed, 1 insertion(+), 43 deletions(-)
>>   delete mode 100644 meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-
>> misc-create_inode.c-set-dir-s-mode-correctly.patch
>>   rename meta/recipes-devtools/e2fsprogs/{e2fsprogs_1.45.4.bb =>
>> e2fsprogs_1.45.5.bb} (97%)
>>
>> diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-misc-
>> create_inode.c-set-dir-s-mode-correctly.patch b/meta/recipes-
>> devtools/e2fsprogs/e2fsprogs/0001-misc-create_inode.c-set-dir-s-mode-
>> correctly.patch
>> deleted file mode 100644
>> index fc4a5409860..00000000000
>> --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-misc-
>> create_inode.c-set-dir-s-mode-correctly.patch
>> +++ /dev/null
>> @@ -1,41 +0,0 @@
>> -From f6d188580c2c9599319076fee22f2424652c711c Mon Sep 17 00:00:00
>> 2001
>> -From: Robert Yang <liezhi.yang@windriver.com>
>> -Date: Wed, 13 Sep 2017 19:55:35 -0700
>> -Subject: [PATCH] misc/create_inode.c: set dir's mode correctly
>> -
>> -The dir's mode has been set by ext2fs_mkdir() with umask, so
>> -reset it to the source's mode in set_inode_extra().
>> -
>> -Fixed when source dir's mode is 521, but tarball would be 721, this
>> was
>> -incorrect.
>> -
>> -Upstream-Status: Submitted
>> -
>> -Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
>> ----
>> - misc/create_inode.c | 9 ++++++++-
>> - 1 file changed, 8 insertions(+), 1 deletion(-)
>> -
>> -diff --git a/misc/create_inode.c b/misc/create_inode.c
>> -index 8ce3faf..50fbaa8 100644
>> ---- a/misc/create_inode.c
>> -+++ b/misc/create_inode.c
>> -@@ -116,7 +116,14 @@ static errcode_t set_inode_extra(ext2_filsys
>> fs, ext2_ino_t ino,
>> -
>> - 	inode.i_uid = st->st_uid;
>> - 	inode.i_gid = st->st_gid;
>> --	inode.i_mode |= st->st_mode;
>> -+	/*
>> -+	 * The dir's mode has been set by ext2fs_mkdir() with umask, so
>> -+	 * reset it to the source's mode
>> -+	 */
>> -+	if S_ISDIR(st->st_mode)
>> -+		inode.i_mode = LINUX_S_IFDIR | st->st_mode;
>> -+	else
>> -+		inode.i_mode |= st->st_mode;
>> - 	inode.i_atime = st->st_atime;
>> - 	inode.i_mtime = st->st_mtime;
>> - 	inode.i_ctime = st->st_ctime;
>> ---
>> -2.10.2
>> -
>> diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.4.bb
>> b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.5.bb
>> similarity index 97%
>> rename from meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.4.bb
>> rename to meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.5.bb
>> index 6e69eea21c3..7cd42b8137a 100644
>> --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.4.bb
>> +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.5.bb
>> @@ -4,7 +4,6 @@ SRC_URI += "file://remove.ldconfig.call.patch \
>>              file://run-ptest \
>>              file://ptest.patch \
>>              file://mkdir_p.patch \
>> -           file://0001-misc-create_inode.c-set-dir-s-mode-
>> correctly.patch \
>>              file://0001-configure.ac-correct-AM_GNU_GETTEXT.patch \
>>              file://0001-intl-do-not-try-to-use-gettext-defines-that-
>> no-longe.patch \
>>              "
>> @@ -13,7 +12,7 @@ SRC_URI_append_class-native = "
>> file://e2fsprogs-fix-missing-check-for-permissio
>>                                   file://quiet-debugfs.patch \
>>   "
>>   
>> -SRCREV = "984ff8d6a0a1d5dc300505f67b38ed5047d51dac"
>> +SRCREV = "c2b1ec5fbc99ab8a2b71dae45d486b3ea004f618"
>>   UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$"
>>   
>>   EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
>> -- 
>> 2.17.1
>>
> 
> 

[-- Attachment #2: 0001-misc-create_inode.c-set-dir-s-mode-correctly.patch --]
[-- Type: text/x-patch, Size: 1383 bytes --]

From f6d188580c2c9599319076fee22f2424652c711c Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Mon, 24 Feb 2020 18:46:55 +0800
Subject: [PATCH][e2fsprogs] misc/create_inode.c: set dir's mode correctly

The dir's mode has been set by ext2fs_mkdir() with umask, so
reset it to the source's mode in set_inode_extra().

Fixed when source dir's mode is 521, but dst dir's mode is 721 which was
incorrect.

Upstream-Status: Submitted [linux-ext4@vger.kernel.org]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 misc/create_inode.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/misc/create_inode.c b/misc/create_inode.c
index 5161d5e..f82f74e 100644
--- a/misc/create_inode.c
+++ b/misc/create_inode.c
@@ -124,7 +124,14 @@ static errcode_t set_inode_extra(ext2_filsys fs, ext2_ino_t ino,
 	ext2fs_set_i_uid_high(inode, st->st_uid >> 16);
 	inode.i_gid = st->st_gid;
 	ext2fs_set_i_gid_high(inode, st->st_gid >> 16);
-	inode.i_mode |= st->st_mode;
+	/*
+	 * The dir's mode has been set by ext2fs_mkdir() with umask, so
+	 * reset it to the source's mode
+	 */
+	if S_ISDIR(st->st_mode)
+		inode.i_mode = LINUX_S_IFDIR | st->st_mode;
+	else
+		inode.i_mode |= st->st_mode;
 	inode.i_atime = st->st_atime;
 	inode.i_mtime = st->st_mtime;
 	inode.i_ctime = st->st_ctime;
-- 
2.7.4


  reply	other threads:[~2020-02-24 11:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-24  3:12 [PATCH] e2fsprogs: update to 1.45.5 Armin Kuster
2020-02-24 10:23 ` Richard Purdie
2020-02-24 11:13   ` Robert Yang [this message]
2020-02-24 15:19     ` akuster808
2020-03-10 10:31       ` Robert Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=89e6bbf2-51ca-4dcf-46b3-e484d228f579@windriver.com \
    --to=liezhi.yang@windriver.com \
    --cc=akuster808@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox