From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f54.google.com ([209.85.220.54]:34950 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753014AbcITAuK (ORCPT ); Mon, 19 Sep 2016 20:50:10 -0400 Received: by mail-pa0-f54.google.com with SMTP id oz2so770881pac.2 for ; Mon, 19 Sep 2016 17:50:10 -0700 (PDT) From: Eric Biggers To: stable@vger.kernel.org Cc: tytso@mit.edu, jaegeuk@kernel.org, Eric Biggers Subject: [PATCH] fscrypto: require write access to mount to set encryption policy Date: Mon, 19 Sep 2016 17:49:46 -0700 Message-Id: <1474332586-101295-1-git-send-email-ebiggers@google.com> Sender: stable-owner@vger.kernel.org List-ID: commit ba63f23d69a3a10e7e527a02702023da68ef8a6d upstream, backported to fs/ext4/ioctl.c for pre-4.8 kernels. Since setting an encryption policy requires writing metadata to the filesystem, it should be guarded by mnt_want_write/mnt_drop_write. Otherwise, a user could cause a write to a frozen or readonly filesystem. This was handled correctly by f2fs but not by ext4. Signed-off-by: Eric Biggers --- fs/ext4/ioctl.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index 28cc412..64eddc5 100644 --- a/fs/ext4/ioctl.c +++ b/fs/ext4/ioctl.c @@ -782,7 +782,13 @@ resizefs_out: goto encryption_policy_out; } + err = mnt_want_write_file(filp); + if (err) + goto encryption_policy_out; + err = ext4_process_policy(&policy, inode); + + mnt_drop_write_file(filp); encryption_policy_out: return err; #else -- 2.8.0.rc3.226.g39d4020