lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Mon, 12 Sep 2022 11:12:48 +0800
From:   Jason Yan <yanaijie@...wei.com>
To:     "Ritesh Harjani (IBM)" <ritesh.list@...il.com>
CC:     <tytso@....edu>, <adilger.kernel@...ger.ca>, <jack@...e.cz>,
        <lczerner@...hat.com>, <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH v2 07/13] ext4: factor out ext4_encoding_init()


On 2022/9/12 10:30, Jason Yan wrote:
> 
> On 2022/9/8 16:56, Ritesh Harjani (IBM) wrote:
>> On 22/09/03 11:01AM, Jason Yan wrote:
>>> Factor out ext4_encoding_init(). No functional change.
>>>
>>> Signed-off-by: Jason Yan <yanaijie@...wei.com>
>>> Reviewed-by: Jan Kara <jack@...e.cz>
>>> ---
>>>   fs/ext4/super.c | 80 +++++++++++++++++++++++++++----------------------
>>>   1 file changed, 44 insertions(+), 36 deletions(-)
>>>
>>> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
>>> index f8806226b796..67972b0218c0 100644
>>> --- a/fs/ext4/super.c
>>> +++ b/fs/ext4/super.c
>>> @@ -4521,6 +4521,48 @@ static int ext4_inode_info_init(struct 
>>> super_block *sb,
>>>       return 0;
>>>   }
>>> +static int ext4_encoding_init(struct super_block *sb, struct 
>>> ext4_super_block *es)
>>> +{
>>> +#if IS_ENABLED(CONFIG_UNICODE)
>>
>> How about simplying it like below.
>>         if (!IS_ENABLED(CONFIG_UNICODE))
>>             return 0;
>>
>>         <...>
>>
>> Then we don't need #ifdef CONFIG_UNICODE
>>
> 
> Nice idea. Will update.
> 

Sorry I tried to compile with this change but the compiler is not clever 
enough to ignore the code down if CONFIG_UNICODE is not enabled.


fs/ext4/super.c: In function ‘ext4_encoding_init’:
fs/ext4/super.c:4529:2: warning: ISO C90 forbids mixed declarations and 
code [-Wdeclaration-after-statement]
  4529 |  const struct ext4_sb_encodings *encoding_info;
       |  ^~~~~
fs/ext4/super.c:4533:42: error: ‘struct super_block’ has no member named 
‘s_encoding’
  4533 |  if (!ext4_has_feature_casefold(sb) || sb->s_encoding)
       |                                          ^~
fs/ext4/super.c:4536:18: error: implicit declaration of function 
‘ext4_sb_read_encoding’; did you mean ‘ext4_sb_bread_unmovable’? 
[-Werror=implicit-function-declaration]
  4536 |  encoding_info = ext4_sb_read_encoding(es);
       |                  ^~~~~~~~~~~~~~~~~~~~~
       |                  ext4_sb_bread_unmovable
fs/ext4/super.c:4536:16: warning: assignment to ‘const struct 
ext4_sb_encodings *’ from ‘int’ makes pointer from integer without a 
cast [-Wint-conversion]
  4536 |  encoding_info = ext4_sb_read_encoding(es);
       |                ^
fs/ext4/super.c:4543:36: error: dereferencing pointer to incomplete type 
‘const struct ext4_sb_encodings’
  4543 |  encoding = utf8_load(encoding_info->version);
       |                                    ^~
fs/ext4/super.c:4562:4: error: ‘struct super_block’ has no member named 
‘s_encoding’
  4562 |  sb->s_encoding = encoding;
       |    ^~
fs/ext4/super.c:4563:4: error: ‘struct super_block’ has no member named 
‘s_encoding_flags’
  4563 |  sb->s_encoding_flags = encoding_flags;
       |    ^~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:249: fs/ext4/super.o] Error 1
make[1]: *** [scripts/Makefile.build:465: fs/ext4] Error 2
make: *** [Makefile:1852: fs] Error 2




> Thanks
> Jason
> .



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ