2023-01-04 09:08:40

by Eric Biggers

[permalink] [raw]
Subject: [e2fsprogs PATCH] tune2fs: fix setting fsuuid::fsu_len

From: Eric Biggers <[email protected]>

Minus does not mean equals.

Besides fixing an obvious bug, this avoids the following compiler
warning with clang -Wall:

tune2fs.c:3625:20: warning: expression result unused [-Wunused-value]
fsuuid->fsu_len - UUID_SIZE;
~~~~~~~~~~~~~~~ ^ ~~~~~~~~~

Fixes: a83e199da0ca ("tune2fs: Add support for get/set UUID ioctls.")
Cc: Jeremy Bongio <[email protected]>
Signed-off-by: Eric Biggers <[email protected]>
---
misc/tune2fs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index 088f87e5..7937b8b5 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -3622,7 +3622,7 @@ _("Warning: The journal is dirty. You may wish to replay the journal like:\n\n"
ret = -1;
#ifdef __linux__
if (fsuuid) {
- fsuuid->fsu_len - UUID_SIZE;
+ fsuuid->fsu_len = UUID_SIZE;
fsuuid->fsu_flags = 0;
memcpy(&fsuuid->fsu_uuid, new_uuid, UUID_SIZE);
ret = ioctl(fd, EXT4_IOC_SETFSUUID, fsuuid);
--
2.39.0


2023-01-04 10:41:18

by Lukas Czerner

[permalink] [raw]
Subject: Re: [e2fsprogs PATCH] tune2fs: fix setting fsuuid::fsu_len

On Wed, Jan 04, 2023 at 01:04:01AM -0800, Eric Biggers wrote:
> From: Eric Biggers <[email protected]>
>
> Minus does not mean equals.
>
> Besides fixing an obvious bug, this avoids the following compiler
> warning with clang -Wall:
>
> tune2fs.c:3625:20: warning: expression result unused [-Wunused-value]
> fsuuid->fsu_len - UUID_SIZE;
> ~~~~~~~~~~~~~~~ ^ ~~~~~~~~~

Looks good, thanks!

Reviewed-by: Lukas Czerner <[email protected]>

>
> Fixes: a83e199da0ca ("tune2fs: Add support for get/set UUID ioctls.")
> Cc: Jeremy Bongio <[email protected]>
> Signed-off-by: Eric Biggers <[email protected]>
> ---
> misc/tune2fs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/misc/tune2fs.c b/misc/tune2fs.c
> index 088f87e5..7937b8b5 100644
> --- a/misc/tune2fs.c
> +++ b/misc/tune2fs.c
> @@ -3622,7 +3622,7 @@ _("Warning: The journal is dirty. You may wish to replay the journal like:\n\n"
> ret = -1;
> #ifdef __linux__
> if (fsuuid) {
> - fsuuid->fsu_len - UUID_SIZE;
> + fsuuid->fsu_len = UUID_SIZE;
> fsuuid->fsu_flags = 0;
> memcpy(&fsuuid->fsu_uuid, new_uuid, UUID_SIZE);
> ret = ioctl(fd, EXT4_IOC_SETFSUUID, fsuuid);
> --
> 2.39.0
>

2023-01-05 19:09:57

by Jeremy Bongio

[permalink] [raw]
Subject: Re: [e2fsprogs PATCH] tune2fs: fix setting fsuuid::fsu_len

Thanks for catching that!

Reviewed-by: Jeremy Bongio <[email protected]>

On Wed, Jan 4, 2023 at 1:04 AM Eric Biggers <[email protected]> wrote:
>
> From: Eric Biggers <[email protected]>
>
> Minus does not mean equals.
>
> Besides fixing an obvious bug, this avoids the following compiler
> warning with clang -Wall:
>
> tune2fs.c:3625:20: warning: expression result unused [-Wunused-value]
> fsuuid->fsu_len - UUID_SIZE;
> ~~~~~~~~~~~~~~~ ^ ~~~~~~~~~
>
> Fixes: a83e199da0ca ("tune2fs: Add support for get/set UUID ioctls.")
> Cc: Jeremy Bongio <[email protected]>
> Signed-off-by: Eric Biggers <[email protected]>
> ---
> misc/tune2fs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/misc/tune2fs.c b/misc/tune2fs.c
> index 088f87e5..7937b8b5 100644
> --- a/misc/tune2fs.c
> +++ b/misc/tune2fs.c
> @@ -3622,7 +3622,7 @@ _("Warning: The journal is dirty. You may wish to replay the journal like:\n\n"
> ret = -1;
> #ifdef __linux__
> if (fsuuid) {
> - fsuuid->fsu_len - UUID_SIZE;
> + fsuuid->fsu_len = UUID_SIZE;
> fsuuid->fsu_flags = 0;
> memcpy(&fsuuid->fsu_uuid, new_uuid, UUID_SIZE);
> ret = ioctl(fd, EXT4_IOC_SETFSUUID, fsuuid);
> --
> 2.39.0
>

2023-01-05 19:39:25

by Eric Biggers

[permalink] [raw]
Subject: Re: [e2fsprogs PATCH] tune2fs: fix setting fsuuid::fsu_len

On Thu, Jan 05, 2023 at 10:53:07AM -0800, Jeremy Bongio wrote:
> Thanks for catching that!
>
> Reviewed-by: Jeremy Bongio <[email protected]>
>
> On Wed, Jan 4, 2023 at 2:39 AM Lukas Czerner <[email protected]> wrote:
>
> > On Wed, Jan 04, 2023 at 01:04:01AM -0800, Eric Biggers wrote:
> > > From: Eric Biggers <[email protected]>
> > >
> > > Minus does not mean equals.
> > >
> > > Besides fixing an obvious bug, this avoids the following compiler
> > > warning with clang -Wall:
> > >
> > > tune2fs.c:3625:20: warning: expression result unused [-Wunused-value]
> > > fsuuid->fsu_len - UUID_SIZE;
> > > ~~~~~~~~~~~~~~~ ^ ~~~~~~~~~

The real thanks goes to the compiler for warning about this.

Ted, considering the build warnings (some of which are caused by actual bugs)
and build errors that regularly show up in new e2fsprogs releases, have you
considered adding some sort of CI to upstream e2fsprogs?

These days, a very common practice for projects on GitHub is to have a ci.yml
file in .github/workflows/ci.yml that enables testing with GitHub Actions, and
require that it passes before accepting pull requests. That can include
enforcing a clean build with -Wall -Werror with both gcc and clang; building for
Linux, macOS, and Windows; build and testing on non-x86 architectures; enforcing
that the tests pass with sanitization options like ASAN and UBSAN enabled, etc.
Here's the one I use for fscryptctl which is pretty basic but shows a few things:
https://github.com/google/fscryptctl/blob/master/.github/workflows/ci.yml

Now, presumably e2fsprogs development isn't about to move to GitHub. However,
it's still possible to just push to a fork of the repo on GitHub after applying
patches, and get all the results from GitHub Actions.

And it looks like e2fsprogs is already being mirrored at
https://github.com/tytso/e2fsprogs.

Ted, would you be interested in a .github/workflows/ci.yml file for e2fsprogs so
that CI results will be available at https://github.com/tytso/e2fsprogs/actions?

- Eric