From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8BE72C433E2 for ; Thu, 17 Sep 2020 15:33:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 32FD121D7F for ; Thu, 17 Sep 2020 15:33:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1600356797; bh=dsrHqCpL2En5vdo8EKO9ihwbSqFxqTvchyF3EQmBx8M=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=r3Bo5KlDfqAN73f34dwlPCXTR+68iXwE89Pkod11UuJxqySDGFYSxEOuLgFruqhYL iWA3BJVsK8hC/tewgjxkhtjNViaPo2DF/AVDdTm/znrS5oZ4nzs3E7M8HIbr/8gp17 PQLEkXf/CpC2qo6rEo+icSPbPZjSGv9dEik6TFNM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728223AbgIQPcb (ORCPT ); Thu, 17 Sep 2020 11:32:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:41022 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728222AbgIQPb2 (ORCPT ); Thu, 17 Sep 2020 11:31:28 -0400 Received: from sol.localdomain (172-10-235-113.lightspeed.sntcca.sbcglobal.net [172.10.235.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D9F632224A; Thu, 17 Sep 2020 15:29:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1600356549; bh=dsrHqCpL2En5vdo8EKO9ihwbSqFxqTvchyF3EQmBx8M=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=pLRXIPMU+ebvvDik5sg9LeQLxfPqJ2VfS43CgFM7HSeOTANsZGnTFTJTgezDNSjOp JQbxMoBBOjqjx84cP7GtBdk6eGD1U5VV+fNacoBl4rBzEKoFw3oeRWyqZ36HmyXEdw DLqkCLEPIBXNzP2ARkC0eEXzCYDCBwGOA5LkiyJw= Date: Thu, 17 Sep 2020 08:29:07 -0700 From: Eric Biggers To: Jeff Layton Cc: linux-fscrypt@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org, ceph-devel@vger.kernel.org, Daniel Rosenberg Subject: Re: [PATCH v3 13/13] fscrypt: make fscrypt_set_test_dummy_encryption() take a 'const char *' Message-ID: <20200917152907.GB855@sol.localdomain> References: <20200917041136.178600-1-ebiggers@kernel.org> <20200917041136.178600-14-ebiggers@kernel.org> <41ad3cd50f4d213455bef4e7c42143c289690222.camel@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <41ad3cd50f4d213455bef4e7c42143c289690222.camel@kernel.org> Precedence: bulk List-ID: X-Mailing-List: linux-fscrypt@vger.kernel.org On Thu, Sep 17, 2020 at 08:32:39AM -0400, Jeff Layton wrote: > On Wed, 2020-09-16 at 21:11 -0700, Eric Biggers wrote: > > From: Eric Biggers > > > > fscrypt_set_test_dummy_encryption() requires that the optional argument > > to the test_dummy_encryption mount option be specified as a substring_t. > > That doesn't work well with filesystems that use the new mount API, > > since the new way of parsing mount options doesn't use substring_t. > > > > Make it take the argument as a 'const char *' instead. > > > > Instead of moving the match_strdup() into the callers in ext4 and f2fs, > > make them just use arg->from directly. Since the pattern is > > "test_dummy_encryption=%s", the argument will be null-terminated. > > > > Are you sure about that? I thought the point of substring_t was to give > you a token from the string without null terminating it. > > ISTM that when you just pass in ->from, you might end up with trailing > arguments in your string like this. e.g.: > > "v2,foo,bar,baz" > > ...and then that might fail to match properly > in fscrypt_set_test_dummy_encryption. > Yes I'm sure, and I had also tested it. The use of match_token() here is to parse one null-terminated mount option at a time. The reason that match_token() can return multiple substrings is that the pattern might be something like "foo=%d:%d". But here it's just "test_dummy_encryption=%s". "%s" matches until end-of-string. - Eric