Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp762968iob; Wed, 18 May 2022 12:23:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxXi3h29+/d1tnlHknEkMSYJV7qaweteskbnAT9lYMODQAIpwfzqoCUj5ZT7QthK4Obi+Av X-Received: by 2002:a17:902:ce02:b0:151:a86d:dc2b with SMTP id k2-20020a170902ce0200b00151a86ddc2bmr1164313plg.57.1652901819250; Wed, 18 May 2022 12:23:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652901819; cv=none; d=google.com; s=arc-20160816; b=inHWEahDLQzn0eyGp9j9zWRRXdBIXI4aFH8DE1T71Qn9zKQrLIji3gj61Wur+iGR0G US5R28GjkDdB1uwUXlsSFiBerQv/5DK2QCT0S/yxlg/gs4yWY7YpHHijVnVTUCO+qfPU xocqMESd4ZQWPatnA3D631XpiEWCY+XELr2w3gBfCaH2bqbxxU5PfoYyVy7BMspP/5Zf qGWdMtBQ1LgXg7VVyf3zqxmufQ5Hvd0A+jxt1ZvuY+Jq+3n6e1qZL4tJj/JpRTnffWxd xk6QfyBKBrNZxeGiBPUpS3IhHwSGgWOGKQwatL0uiKS9YSurdrE4MRAHFWgy/x7XtFh2 ClGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=PGAjmgWWVwo7DRr+PVz25/MMOmXac86oAXLTZn2IPbg=; b=u+gQcwBLvghFvzxWjkqCJ068LPR7XuLWGukmrFnhwAv7bbt2kzrB5z94FO0XLSpnXY WiVo4xQ2AtYNPoZe2weBpZJhD86EiX/ZlOcPRrAaJaXGjbI6Y9HZWwWarpDkfRGDu77A ZVRiv9jzVZh9WcvsNMbXT29T5YznWtMic1+bxc81YVHWusg2WDvedogbRtp73R6po6Zj QJKF9JZjn0MfrQENt7dIYTrOF0BfBTacybuebBHAcRRlEyjg57ojmtYavTlUKxqOJd6G t/n1riCJOBZAD9D9Toj9Ercfq3U9bfQtP/gEmC/7sfGl8rAIG2vjWsvVAAL6WBrSMRyV 1GOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="bTg/C7Th"; spf=softfail (google.com: domain of transitioning linux-ext4-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id i6-20020a635846000000b003ab4cc709bcsi3337071pgm.691.2022.05.18.12.23.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 May 2022 12:23:39 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-ext4-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="bTg/C7Th"; spf=softfail (google.com: domain of transitioning linux-ext4-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CCF0729819; Wed, 18 May 2022 12:20:54 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241832AbiERTUv (ORCPT + 99 others); Wed, 18 May 2022 15:20:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241829AbiERTUv (ORCPT ); Wed, 18 May 2022 15:20:51 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7B39BF57 for ; Wed, 18 May 2022 12:20:48 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 395A561888 for ; Wed, 18 May 2022 19:20:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 560F9C385A9; Wed, 18 May 2022 19:20:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1652901647; bh=rP1V47fuAQdnud9qXZhFmg0TYruAtH05GnMFhrZhVME=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bTg/C7ThWkW2TTbMTsjcxexM1PbHwENIe9sOBoHxoLD5moZTXEAw22ifb5U1Be1Tt kw6n0veOaOyNI5BF04AzrO77F/0pyhrAmzeIxpMWm+y21a3l3CIpEsBVhMFJ1w5fwQ qOhNHlF+oPW0H9FVTjFMeEM+j8h5sqIjHHgBSkabLpTAYdOPgYYap8yGfTpdWdPxEK S29jeBzzBEtf3nE0i6/DaNeYYsCRRvY4Un5IvLo+UhS88snF83jMqm6lnLiSjXgRdg mMXFv+5LmPjqUJylqz/WGiv7skuwqWzzUCJ/JYcNZNt+iA4GjCg9jDlQblMFAS42RE FA68xjQ4BODFQ== Date: Wed, 18 May 2022 12:20:45 -0700 From: Eric Biggers To: Gabriel Krisman Bertazi Cc: tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, kernel@collabora.com Subject: Re: [PATCH v5 4/8] ext4: Reuse generic_ci_match for ci comparisons Message-ID: References: <20220518172320.333617-1-krisman@collabora.com> <20220518172320.333617-5-krisman@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220518172320.333617-5-krisman@collabora.com> X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Wed, May 18, 2022 at 01:23:16PM -0400, Gabriel Krisman Bertazi wrote: > Instead of reimplementing ext4_match_ci, use the new libfs helper. > > Signed-off-by: Gabriel Krisman Bertazi > --- [...] > int ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname, > struct ext4_filename *name) > { > @@ -1432,20 +1380,25 @@ static bool ext4_match(struct inode *parent, > #if IS_ENABLED(CONFIG_UNICODE) > if (parent->i_sb->s_encoding && IS_CASEFOLDED(parent) && > (!IS_ENCRYPTED(parent) || fscrypt_has_encryption_key(parent))) { > - if (fname->cf_name.name) { > - if (IS_ENCRYPTED(parent)) { > - if (fname->hinfo.hash != EXT4_DIRENT_HASH(de) || > - fname->hinfo.minor_hash != > - EXT4_DIRENT_MINOR_HASH(de)) { > + int ret; > > - return false; > - } > - } > - return !ext4_ci_compare(parent, &fname->cf_name, > - de->name, de->name_len, true); > + if (IS_ENCRYPTED(parent) && > + (fname->hinfo.hash != EXT4_DIRENT_HASH(de) || > + fname->hinfo.minor_hash != EXT4_DIRENT_MINOR_HASH(de))) > + return false; > + > + ret = generic_ci_match(parent, fname->usr_fname, > + &fname->cf_name, de->name, > + de->name_len); > + if (ret < 0) { > + /* > + * Treat comparison errors as not a match. The > + * only case where it happens is on a disk > + * corruption or ENOMEM. > + */ > + return false; > } > - return !ext4_ci_compare(parent, fname->usr_fname, de->name, > - de->name_len, false); > + return ret; > } This needs an explanation for why it's okay to remove 'fname->cf_name.name != NULL' from the condition for doing the hash comparison for an encrypted+casefolded directory entry. - Eric