2014-05-01 19:55:13

by Eric Sandeen

[permalink] [raw]
Subject: [PATCH] mke2fs: don't accept too-high revision levels

It's a bit strange to accept revision levels higher than
the code creating the filesystem can understand, so don't
allow it.

At least the kernel will mount the fs readonly if it's too
high, but no other utility will touch it, so you can't
fix the error.

Just reject anything > EXT2_MAX_SUPP_REV at mkfs time.

Signed-off-by: Eric Sandeen <[email protected]>
---

diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index aecd5d5..82019dc 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -1679,9 +1679,10 @@ profile_error:
break;
case 'r':
r_opt = strtoul(optarg, &tmp, 0);
- if (*tmp) {
+ if (*tmp || (r_opt > EXT2_MAX_SUPP_REV)) {
com_err(program_name, 0,
- _("bad revision level - %s"), optarg);
+ _("bad revision level - %s (max %d)"),
+ optarg, EXT2_MAX_SUPP_REV);
exit(1);
}
fs_param.s_rev_level = r_opt;



2014-05-01 20:39:31

by Eric Sandeen

[permalink] [raw]
Subject: [PATCH V2] mke2fs: prevent creation of filesystem with unsupported revision

From: Frank Sorenson <[email protected]>

Don't create a filesystem with an unsupported revision number

Signed-off-by: Frank Sorenson <[email protected]>
Signed-off-by: Eric Sandeen <[email protected]>
---

V2: Frank did this independently, and it's better. I forgot about
using com_err here.

--- a/misc/mke2fs.c
+++ a/misc/mke2fs.c
@@ -1684,6 +1684,11 @@ profile_error:
_("bad revision level - %s"), optarg);
exit(1);
}
+ if (r_opt > EXT2_MAX_SUPP_REV) {
+ com_err(program_name, EXT2_ET_REV_TOO_HIGH,
+ _("while trying to create revision %d"), r_opt);
+ exit(1);
+ }
fs_param.s_rev_level = r_opt;
break;
case 's': /* deprecated */

2014-05-01 22:21:23

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH V2] mke2fs: prevent creation of filesystem with unsupported revision

On May 1, 2014, at 2:39 PM, Eric Sandeen <[email protected]> wrote:

> From: Frank Sorenson <[email protected]>
>
> Don't create a filesystem with an unsupported revision number

I like the commit comment on the original patch better...

Cheers, Andreas

> Signed-off-by: Frank Sorenson <[email protected]>
> Signed-off-by: Eric Sandeen <[email protected]>
> ---
>
> V2: Frank did this independently, and it's better. I forgot about
> using com_err here.
>
> --- a/misc/mke2fs.c
> +++ a/misc/mke2fs.c
> @@ -1684,6 +1684,11 @@ profile_error:
> _("bad revision level - %s"), optarg);
> exit(1);
> }
> + if (r_opt > EXT2_MAX_SUPP_REV) {
> + com_err(program_name, EXT2_ET_REV_TOO_HIGH,
> + _("while trying to create revision %d"), r_opt);
> + exit(1);
> + }
> fs_param.s_rev_level = r_opt;
> break;
> case 's': /* deprecated */
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html


Cheers, Andreas






Attachments:
signature.asc (833.00 B)
Message signed with OpenPGP using GPGMail

2014-05-01 22:34:58

by Eric Sandeen

[permalink] [raw]
Subject: [PATCH V3] mke2fs: prevent creation of filesystem with unsupported revision

From: Frank Sorenson <[email protected]>

It's a bit strange to accept revision levels higher than
the code creating the filesystem can understand, so don't
allow it.

At least the kernel will mount the fs readonly if it's too
high, but no other utility will touch it, so you can't
fix the error.

Just reject anything > EXT2_MAX_SUPP_REV at mkfs time.

Signed-off-by: Frank Sorenson <[email protected]>
[[email protected]: Add more verbose commit log]
Signed-off-by: Eric Sandeen <[email protected]>
---

V2: Frank did this independently, and it's better. I forgot about
using com_err here.

V3: go back to V1's commit log for Andreas :)

--- a/misc/mke2fs.c
+++ a/misc/mke2fs.c
@@ -1684,6 +1684,11 @@ profile_error:
_("bad revision level - %s"), optarg);
exit(1);
}
+ if (r_opt > EXT2_MAX_SUPP_REV) {
+ com_err(program_name, EXT2_ET_REV_TOO_HIGH,
+ _("while trying to create revision %d"), r_opt);
+ exit(1);
+ }
fs_param.s_rev_level = r_opt;
break;
case 's': /* deprecated */


2014-07-04 19:32:09

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH V3] mke2fs: prevent creation of filesystem with unsupported revision

On Thu, May 01, 2014 at 05:35:00PM -0500, Eric Sandeen wrote:
> From: Frank Sorenson <[email protected]>
>
> It's a bit strange to accept revision levels higher than
> the code creating the filesystem can understand, so don't
> allow it.
>
> At least the kernel will mount the fs readonly if it's too
> high, but no other utility will touch it, so you can't
> fix the error.
>
> Just reject anything > EXT2_MAX_SUPP_REV at mkfs time.
>
> Signed-off-by: Frank Sorenson <[email protected]>
> [[email protected]: Add more verbose commit log]
> Signed-off-by: Eric Sandeen <[email protected]>

Thanks, applied.

- Ted

2016-01-14 18:35:39

by Eric Sandeen

[permalink] [raw]
Subject: Re: [PATCH] mke2fs: don't accept too-high revision levels

Came across this, still not merged, so ping?

On 5/1/14 2:55 PM, Eric Sandeen wrote:
> It's a bit strange to accept revision levels higher than
> the code creating the filesystem can understand, so don't
> allow it.
>
> At least the kernel will mount the fs readonly if it's too
> high, but no other utility will touch it, so you can't
> fix the error.
>
> Just reject anything > EXT2_MAX_SUPP_REV at mkfs time.
>
> Signed-off-by: Eric Sandeen <[email protected]>
> ---
>
> diff --git a/misc/mke2fs.c b/misc/mke2fs.c
> index aecd5d5..82019dc 100644
> --- a/misc/mke2fs.c
> +++ b/misc/mke2fs.c
> @@ -1679,9 +1679,10 @@ profile_error:
> break;
> case 'r':
> r_opt = strtoul(optarg, &tmp, 0);
> - if (*tmp) {
> + if (*tmp || (r_opt > EXT2_MAX_SUPP_REV)) {
> com_err(program_name, 0,
> - _("bad revision level - %s"), optarg);
> + _("bad revision level - %s (max %d)"),
> + optarg, EXT2_MAX_SUPP_REV);
> exit(1);
> }
> fs_param.s_rev_level = r_opt;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>


2016-01-14 19:36:17

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH] mke2fs: don't accept too-high revision levels


> On Jan 14, 2016, at 11:35 AM, Eric Sandeen <[email protected]> wrote:
>
> Came across this, still not merged, so ping?
>
> On 5/1/14 2:55 PM, Eric Sandeen wrote:
>> It's a bit strange to accept revision levels higher than
>> the code creating the filesystem can understand, so don't
>> allow it.
>>
>> At least the kernel will mount the fs readonly if it's too
>> high, but no other utility will touch it, so you can't
>> fix the error.
>>
>> Just reject anything > EXT2_MAX_SUPP_REV at mkfs time.
>>
>> Signed-off-by: Eric Sandeen <[email protected]>

Reviewed-by: Andreas Dilger <[email protected]>

>> ---
>>
>> diff --git a/misc/mke2fs.c b/misc/mke2fs.c
>> index aecd5d5..82019dc 100644
>> --- a/misc/mke2fs.c
>> +++ b/misc/mke2fs.c
>> @@ -1679,9 +1679,10 @@ profile_error:
>> break;
>> case 'r':
>> r_opt = strtoul(optarg, &tmp, 0);
>> - if (*tmp) {
>> + if (*tmp || (r_opt > EXT2_MAX_SUPP_REV)) {
>> com_err(program_name, 0,
>> - _("bad revision level - %s"), optarg);
>> + _("bad revision level - %s (max %d)"),
>> + optarg, EXT2_MAX_SUPP_REV);
>> exit(1);
>> }
>> fs_param.s_rev_level = r_opt;
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html


Cheers, Andreas






Attachments:
signature.asc (833.00 B)
Message signed with OpenPGP using GPGMail