From patchwork Fri Sep 8 00:12:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Halcrow X-Patchwork-Id: 811268 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="Ice0QMtg"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xpHp02RF9z9s81 for ; Fri, 8 Sep 2017 10:12:40 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752948AbdIHAMh (ORCPT ); Thu, 7 Sep 2017 20:12:37 -0400 Received: from mail-pg0-f46.google.com ([74.125.83.46]:36272 "EHLO mail-pg0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752606AbdIHAMf (ORCPT ); Thu, 7 Sep 2017 20:12:35 -0400 Received: by mail-pg0-f46.google.com with SMTP id m9so2116957pgd.3 for ; Thu, 07 Sep 2017 17:12:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VzkLSlJeRYCLVLtHBOnDTxgB9u1PqKbInpwTOtVP8ew=; b=Ice0QMtgOPM3VaTp8Vrr2EfumHDDeKVnQCPZKM+z5v1EPtyaytZX/2fg1wehZzUuz8 BPO6+BseSzrqBbJuc/4/GAc2Bi/YNF1G6jaAU0ycfCOho/7TjQvKfIMtLHcDpYjXQ4cj 9+7dTFrtUmFoa1S9H6BkPUXMpcieioONW+UaT0P4bFgYAW5n8kWItpTfS3Tjm60njQRt RV3WV9Kn0o+tjlHFo16o9XhyQ7XrBrXcpLetzGEfzbCBhXNyH8WNY70ST6EmFAi5OqnF AlzumS3TqwfrOIdnJ9lfDUWhAOnKgJrL1YcvWORyRdzn7aIUprEortQK9uKqvyciiNeI DALA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VzkLSlJeRYCLVLtHBOnDTxgB9u1PqKbInpwTOtVP8ew=; b=PrJCX6r52jB1y0DJ2xuZhJwTd1vAyNWq2XZveOnFsESSu4QNDNG5oeSfg9BoZQ1lqI 5epQOWdBXgczhuc1q8S3NL3sJe18jEp6W/NKEXi2UjWKKokx6zHnNX2O3jZT1ZwiLdng PiL+g+oqq+EM+aInAGpkPnUsQQJRLQUKTnx9vDNksizfvUyzh5FN1Rk5TIhcuHleSiU+ fzuMYEMJkW7EeHv/4tvvAIYI+AVRMa75v4bRZ+f2WJmpN03hMH4bE927ADtq964vQTF+ VTJr3S33QUk+FMJXokz82y84SuK6CxaOG3kAM+p24I66UBYF1d8GE5vAvIs4tIArmKnp MX0w== X-Gm-Message-State: AHPjjUhqkyOomfHbcgVao2ihCotwo7T2GzUZBaSIvSX14YY3CyYzw+NF kpBaXz3n3BGCpfKz X-Google-Smtp-Source: ADKCNb77OBNGz8iqrYgB9/+r49OFHEniG2dVLtNf2S2/yzWYKxQ7LZeRnjSt29F8cd6gPZLVWnb7kA== X-Received: by 10.98.15.208 with SMTP id 77mr1189693pfp.318.1504829555043; Thu, 07 Sep 2017 17:12:35 -0700 (PDT) Received: from mhalcrow-linux.kir.corp.google.com ([100.66.175.61]) by smtp.gmail.com with ESMTPSA id d25sm1007805pfb.1.2017.09.07.17.12.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 07 Sep 2017 17:12:34 -0700 (PDT) From: Michael Halcrow To: linux-fscrypt@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, tytso@mit.edu, linux-f2fs-devel@lists.sourceforge.net, linux-mtd@lists.infradead.org Subject: [PATCH 2/3] F2FS crypto: Return -EXDEV for link, rename, and cross-rename between incompat contexts Date: Thu, 7 Sep 2017 17:12:03 -0700 Message-Id: <20170908001204.18174-3-mhalcrow@google.com> X-Mailer: git-send-email 2.14.1.581.gf28d330327-goog In-Reply-To: <20170908001204.18174-1-mhalcrow@google.com> References: <20170908001204.18174-1-mhalcrow@google.com> Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Gives user space the opportunity to fall back to copy-and-delete. Signed-off-by: Michael Halcrow --- fs/f2fs/namei.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c index 760d85223c81..689c671cf8b8 100644 --- a/fs/f2fs/namei.c +++ b/fs/f2fs/namei.c @@ -202,7 +202,7 @@ static int f2fs_link(struct dentry *old_dentry, struct inode *dir, if (f2fs_encrypted_inode(dir) && !fscrypt_has_permitted_context(dir, inode)) - return -EPERM; + return -EXDEV; err = dquot_initialize(dir); if (err) @@ -720,7 +720,7 @@ static int f2fs_rename(struct inode *old_dir, struct dentry *old_dentry, if ((old_dir != new_dir) && f2fs_encrypted_inode(new_dir) && !fscrypt_has_permitted_context(new_dir, old_inode)) { - err = -EPERM; + err = -EXDEV; goto out; } @@ -910,7 +910,7 @@ static int f2fs_cross_rename(struct inode *old_dir, struct dentry *old_dentry, (old_dir != new_dir) && (!fscrypt_has_permitted_context(new_dir, old_inode) || !fscrypt_has_permitted_context(old_dir, new_inode))) - return -EPERM; + return -EXDEV; err = dquot_initialize(old_dir); if (err)