From patchwork Mon Jan 20 04:43:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Biggers X-Patchwork-Id: 11341009 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 784A6139A for ; Mon, 20 Jan 2020 04:49:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4D9742073D for ; Mon, 20 Jan 2020 04:49:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579495763; bh=Q7wJnp7QsNYnS0LU3C/JSOl8FKpk9+5t4Fs/69qFKaU=; h=From:To:Cc:Subject:Date:List-ID:From; b=buEZATktCdDbnjIcgi7nbufWNYPherIG2wJ+5MFx6M9EPgnyIc4X2vHlqbvIJPhc7 J+H74I2Fbp8v5lcV6aA5SyjfxSAPJ8oXBanI+p+hI+DVV+ihWCKPbPZoPHE15kQQvo nvdYcYbUdXliUpW87am22oN4KlMMaUa3AUrBAuN0= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729098AbgATEs5 (ORCPT ); Sun, 19 Jan 2020 23:48:57 -0500 Received: from mail.kernel.org ([198.145.29.99]:60034 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729043AbgATEs5 (ORCPT ); Sun, 19 Jan 2020 23:48:57 -0500 Received: from sol.hsd1.ca.comcast.net (c-107-3-166-239.hsd1.ca.comcast.net [107.3.166.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id ABBFE20684; Mon, 20 Jan 2020 04:48:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1579495736; bh=Q7wJnp7QsNYnS0LU3C/JSOl8FKpk9+5t4Fs/69qFKaU=; h=From:To:Cc:Subject:Date:From; b=WWfWDdlTcogjcjQNU7ROuxO9HC011fHFtUPXK4hPXps9XoUf8wkg5rPYzIs0S+7R9 Bm7MzTfJ66XlmhgQPPYFgppZoeT45/WoRsEp/8WF3PJpLBnRpY9f0bUJZpaV9aYp0P rPkd74JC+efpVynWmII+acK6DerXye6tMRIUVY6g= From: Eric Biggers To: linux-fscrypt@vger.kernel.org Cc: linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@android.com, Gabriel Krisman Bertazi , Daniel Rosenberg Subject: [PATCH v4 0/4] fscrypt preparations for encryption+casefolding Date: Sun, 19 Jan 2020 20:43:57 -0800 Message-Id: <20200120044401.325453-1-ebiggers@kernel.org> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Sender: linux-fscrypt-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fscrypt@vger.kernel.org This is a cleaned up version of the fscrypt patches to prepare for directories that are both encrypted and casefolded. Patches 1-3 start deriving a SipHash key for the new dirhash method that will be used by encrypted+casefolded directories. To avoid unnecessary overhead, we only do this if the directory is actually casefolded. Patch 4 modifies the fscrypt no-key names to always include the dirhash, since with the new dirhash method the dirhash will no longer be computable from the ciphertext filename without the key. It also fixes a longstanding issue where there could be collisions in the no-key names, due to not using a proper cryptographic hash to abbreviate names. For more information see the main patch series, which includes the filesystem-specific changes: https://lkml.kernel.org/linux-fscrypt/20200117214246.235591-1-drosen@google.com/T/#u This applies to fscrypt.git#master. Daniel Rosenberg (3): fscrypt: don't allow v1 policies with casefolding fscrypt: derive dirhash key for casefolded directories fscrypt: improve format of no-key names Eric Biggers (1): fscrypt: clarify what is meant by a per-file key Documentation/filesystems/fscrypt.rst | 40 +++-- fs/crypto/Kconfig | 1 + fs/crypto/fname.c | 239 ++++++++++++++++++++------ fs/crypto/fscrypt_private.h | 19 +- fs/crypto/hooks.c | 44 +++++ fs/crypto/keysetup.c | 81 ++++++--- fs/crypto/keysetup_v1.c | 4 +- fs/crypto/policy.c | 7 + fs/inode.c | 3 +- include/linux/fscrypt.h | 94 +++------- 10 files changed, 360 insertions(+), 172 deletions(-) base-commit: 2d8f7f119b0b2ce5e7ff0e8024b0763bf42b99c9