Message ID | 20200112221353.29711-1-pali.rohar@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | udf: Fix meaning of ENTITYID_FLAGS_* macros to be really bitwise-or flags | expand |
On Sun 12-01-20 23:13:53, Pali Rohár wrote: > Currently ENTITYID_FLAGS_* macros definitions are written as hex numbers > but their meaning is not bitwise-or flags. But rather bit position. This is > unusual and could be misleading. So change meaning of ENTITYID_FLAGS_* > macros definitions to be really bitwise-or flags. > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Thanks. I agree. I've added this patch to my tree. Honza > --- > fs/udf/ecma_167.h | 4 ++-- > fs/udf/super.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/udf/ecma_167.h b/fs/udf/ecma_167.h > index f9ee412fe..3fd85464a 100644 > --- a/fs/udf/ecma_167.h > +++ b/fs/udf/ecma_167.h > @@ -95,8 +95,8 @@ struct regid { > } __packed; > > /* Flags (ECMA 167r3 1/7.4.1) */ > -#define ENTITYID_FLAGS_DIRTY 0x00 > -#define ENTITYID_FLAGS_PROTECTED 0x01 > +#define ENTITYID_FLAGS_DIRTY 0x01 > +#define ENTITYID_FLAGS_PROTECTED 0x02 > > /* Volume Structure Descriptor (ECMA 167r3 2/9.1) */ > #define VSD_STD_ID_LEN 5 > diff --git a/fs/udf/super.c b/fs/udf/super.c > index 0dad63f88..7e6ec9fa0 100644 > --- a/fs/udf/super.c > +++ b/fs/udf/super.c > @@ -773,7 +773,7 @@ static int udf_verify_domain_identifier(struct super_block *sb, > udf_warn(sb, "Not OSTA UDF compliant %s descriptor.\n", dname); > goto force_ro; > } > - if (ident->flags & (1 << ENTITYID_FLAGS_DIRTY)) { > + if (ident->flags & ENTITYID_FLAGS_DIRTY) { > udf_warn(sb, "Possibly not OSTA UDF compliant %s descriptor.\n", > dname); > goto force_ro; > -- > 2.20.1 >
diff --git a/fs/udf/ecma_167.h b/fs/udf/ecma_167.h index f9ee412fe..3fd85464a 100644 --- a/fs/udf/ecma_167.h +++ b/fs/udf/ecma_167.h @@ -95,8 +95,8 @@ struct regid { } __packed; /* Flags (ECMA 167r3 1/7.4.1) */ -#define ENTITYID_FLAGS_DIRTY 0x00 -#define ENTITYID_FLAGS_PROTECTED 0x01 +#define ENTITYID_FLAGS_DIRTY 0x01 +#define ENTITYID_FLAGS_PROTECTED 0x02 /* Volume Structure Descriptor (ECMA 167r3 2/9.1) */ #define VSD_STD_ID_LEN 5 diff --git a/fs/udf/super.c b/fs/udf/super.c index 0dad63f88..7e6ec9fa0 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c @@ -773,7 +773,7 @@ static int udf_verify_domain_identifier(struct super_block *sb, udf_warn(sb, "Not OSTA UDF compliant %s descriptor.\n", dname); goto force_ro; } - if (ident->flags & (1 << ENTITYID_FLAGS_DIRTY)) { + if (ident->flags & ENTITYID_FLAGS_DIRTY) { udf_warn(sb, "Possibly not OSTA UDF compliant %s descriptor.\n", dname); goto force_ro;
Currently ENTITYID_FLAGS_* macros definitions are written as hex numbers but their meaning is not bitwise-or flags. But rather bit position. This is unusual and could be misleading. So change meaning of ENTITYID_FLAGS_* macros definitions to be really bitwise-or flags. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> --- fs/udf/ecma_167.h | 4 ++-- fs/udf/super.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)