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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 06 Mar 2012 01:40:05 +0100 From: Bernd Schubert <bernd.schubert@...m.fraunhofer.de> To: Ted Ts'o <tytso@....edu> CC: linux-nfs@...r.kernel.org, linux-ext4@...r.kernel.org, linux-fsdevel@...r.kernel.org, Fan Yong <yong.fan@...mcloud.com>, bfields@...hat.com, sandeen@...hat.com, Andreas Dilger <adilger@...mcloud.com> Subject: Re: [PATCH 5 2/4] Return 32/64-bit dir name hash according to usage type On 03/05/2012 04:59 PM, Ted Ts'o wrote: > On Mon, Jan 09, 2012 at 02:21:48PM +0100, Bernd Schubert wrote: >> diff --git a/fs/ext4/hash.c b/fs/ext4/hash.c >> index ac8f168..fa8e491 100644 >> --- a/fs/ext4/hash.c >> +++ b/fs/ext4/hash.c >> @@ -200,8 +200,8 @@ int ext4fs_dirhash(const char *name, int len, struct dx_hash_info *hinfo) >> return -1; >> } >> hash = hash& ~1; >> - if (hash == (EXT4_HTREE_EOF<< 1)) >> - hash = (EXT4_HTREE_EOF-1)<< 1; >> + if (hash == (EXT4_HTREE_EOF_32BIT<< 1)) >> + hash = (EXT4_HTREE_EOF_32BIT - 1)<< 1; >> hinfo->hash = hash; >> hinfo->minor_hash = minor_hash; >> return 0; > > Is there a reason why we don't need to avoid the collsion with the > 64-bit EOF value as well? i.e., I think we also need to add: > > if (hash == (EXT4_HTREE_EOF_64BIT<< 1)) > hash = (EXT4_HTREE_EOF_64BIT - 1)<< 1; > > - Ted Thanks for looking into it, really appreciated! Yeah, you are right, we also should check for 64-bit EOF. But wouldn't be something like this be better? /* check for hash collision */ if(is_32bit_api() ) { if (hash == (EXT4_HTREE_EOF_32BIT<< 1)) hash = (EXT4_HTREE_EOF_32BIT - 1)<< 1; } else { if (hash == (EXT4_HTREE_EOF_64BIT<< 1)) hash = (EXT4_HTREE_EOF_64BIT - 1)<< 1; } Or am I over engineering? Thanks, Bernd -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists