Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp1405612ybp; Thu, 17 Oct 2019 12:18:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqx4/vsAIknS9ag8JOO5dWFpthUaIfLEa8IPxNXxtLWzMGhR8uNMH293qU8SKrqYX3Ft9zON X-Received: by 2002:a17:906:480a:: with SMTP id w10mr5102888ejq.212.1571339885835; Thu, 17 Oct 2019 12:18:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571339885; cv=none; d=google.com; s=arc-20160816; b=s1Q/Lql8MF7ImadJF8PtcBrbA2LuUFYg42IZV9MDTLoWkHMWdHbn61N1kFCRd1q1dj 8Nz6c4YbyBeDPQIDG2CNVjvh7RyMW1Lt9QnUktEGCVpkePTwr72kXTGBAskPNd7dcbiu JDzgkmCa1dBnHO1pQg7agRwBz+kpkdD3L4fxATpQkje+XaVx+Smrc6oNxhloVNXEI+L7 S4j5VQ8QOichqfnTye9D6i3EXkR9JPCCuBwb5ZN5lE9jnX8AJ7BhtqUdlXBwLIWepYds Y5PbymVCk7+/0bok8ARHlnKamm9kyB05cenD/6K0nzSSGzJkZjdQkQVwEPo5teFjb1/V 9zRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=1rTCPanLRU694AvOcdomdk0l0aHCVvWz4I6lXTvkIbg=; b=TgOAX/Cx1+I1xHlPvmFg48KrPd+KxRLUySnFuCVQLRtzEDNVC60Zz/YTBMFKO13V3z F8y07yd2vHs9eXSUycnCLNy2HfhvuKfoCfdIMyuBzCVBRqbheFQQgUSMdC9J77JIaB6a yxTx6GW30VAelwoj0JeJA2owuquDmDo2wm+c8Esspz+ib5uCwbOk21lZLoiR6053UXGn UN/eQaPAlNsyai56uOvOqwq61vaEyLDAode8lkATzEYUfp9krvwEfKvQX8V91K9QEjGa Sf3JDGUXghaC7ASaFWLrRhSkF3v/RLIjs9plUz/c9AypVKuoJ9udAV5/9tOVd337xXqq THDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=TfkBwowy; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 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 vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bq16si2022982ejb.221.2019.10.17.12.17.41; Thu, 17 Oct 2019 12:18:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=TfkBwowy; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2393497AbfJPWOt (ORCPT + 99 others); Wed, 16 Oct 2019 18:14:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:38056 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2393379AbfJPWOq (ORCPT ); Wed, 16 Oct 2019 18:14:46 -0400 Received: from sol.localdomain (c-24-5-143-220.hsd1.ca.comcast.net [24.5.143.220]) (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 61A4621A49; Wed, 16 Oct 2019 22:14:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1571264085; bh=YAF7UWWvcUDpvW5NZx+f1x+H79EjBWHrBCJ+KdfKhiI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TfkBwowy1MwHQ9thoyK0yXfDbsuzwnCfOtWTBb1tn2s89VlOfIheKAtvpSgu/TM0B G1+56SNHo+hPiExGZnYkxl7WGAAsMATX3XSD3DiPBmcF4S8b6aqPFEyXqwcDPBOxP8 VqfpCeNljIV+SOcMhQvoPUNd40RmUezxl1ikZMhk= From: Eric Biggers To: linux-ext4@vger.kernel.org Cc: linux-fscrypt@vger.kernel.org, linux-fsdevel@vger.kernel.org, Chandan Rajendra Subject: [PATCH 2/2] ext4: Enable encryption for subpage-sized blocks Date: Wed, 16 Oct 2019 15:11:42 -0700 Message-Id: <20191016221142.298754-3-ebiggers@kernel.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191016221142.298754-1-ebiggers@kernel.org> References: <20191016221142.298754-1-ebiggers@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org From: Chandan Rajendra Now that we have the code to support encryption for subpage-sized blocks, this commit removes the conditional check in filesystem mount code. The commit also changes the support statement in Documentation/filesystems/fscrypt.rst to reflect the fact that encryption on filesystems with blocksize less than page size now works. [EB: Tested with 'gce-xfstests -c ext4/encrypt_1k -g auto', using the new "encrypt_1k" config I created. All tests pass except for those that already fail or are excluded with the encrypt or 1k configs, and 2 tests that try to create 1023-byte symlinks which fails since encrypted symlinks are limited to blocksize-3 bytes. Also ran the dedicated encryption tests using 'kvm-xfstests -c ext4/1k -g encrypt'; all pass, including the on-disk ciphertext verification tests.] Signed-off-by: Chandan Rajendra Signed-off-by: Eric Biggers --- Documentation/filesystems/fscrypt.rst | 4 ++-- fs/ext4/super.c | 7 ------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/Documentation/filesystems/fscrypt.rst b/Documentation/filesystems/fscrypt.rst index 8a0700af9596..b0d015a8cdc3 100644 --- a/Documentation/filesystems/fscrypt.rst +++ b/Documentation/filesystems/fscrypt.rst @@ -331,8 +331,8 @@ Contents encryption ------------------- For file contents, each filesystem block is encrypted independently. -Currently, only the case where the filesystem block size is equal to -the system's page size (usually 4096 bytes) is supported. +Starting from Linux kernel 5.5, encryption of filesystems with block +size less than system's page size is supported. Each block's IV is set to the logical block number within the file as a little endian number, except that: diff --git a/fs/ext4/super.c b/fs/ext4/super.c index dd654e53ba3d..369f852bef20 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -4439,13 +4439,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) } } - if ((DUMMY_ENCRYPTION_ENABLED(sbi) || ext4_has_feature_encrypt(sb)) && - (blocksize != PAGE_SIZE)) { - ext4_msg(sb, KERN_ERR, - "Unsupported blocksize for fs encryption"); - goto failed_mount_wq; - } - if (ext4_has_feature_verity(sb) && blocksize != PAGE_SIZE) { ext4_msg(sb, KERN_ERR, "Unsupported blocksize for fs-verity"); goto failed_mount_wq; -- 2.23.0