Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4da740c1 authored by Eric Biggers's avatar Eric Biggers
Browse files

Revert "ANDROID: fscrypt: add key removal notifier chain"



This reverts commit 98261f39e992543a404353ba2d8f36cb739f329f
because it was only needed for sdcardfs, which has now been removed.

Bug: 157700134
Bug: 142275883
Change-Id: Iaf22521ef47d48ce9c9c0604a8b2412e3b8c1faa
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
parent e27f561f
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -867,34 +867,12 @@ static int check_for_busy_inodes(struct super_block *sb,
	return -EBUSY;
}

static BLOCKING_NOTIFIER_HEAD(fscrypt_key_removal_notifiers);

/*
 * Register a function to be executed when the FS_IOC_REMOVE_ENCRYPTION_KEY
 * ioctl has removed a key and is about to try evicting inodes.
 */
int fscrypt_register_key_removal_notifier(struct notifier_block *nb)
{
	return blocking_notifier_chain_register(&fscrypt_key_removal_notifiers,
						nb);
}
EXPORT_SYMBOL_GPL(fscrypt_register_key_removal_notifier);

int fscrypt_unregister_key_removal_notifier(struct notifier_block *nb)
{
	return blocking_notifier_chain_unregister(&fscrypt_key_removal_notifiers,
						  nb);
}
EXPORT_SYMBOL_GPL(fscrypt_unregister_key_removal_notifier);

static int try_to_lock_encrypted_files(struct super_block *sb,
				       struct fscrypt_master_key *mk)
{
	int err1;
	int err2;

	blocking_notifier_call_chain(&fscrypt_key_removal_notifiers, 0, NULL);

	/*
	 * An inode can't be evicted while it is dirty or has dirty pages.
	 * Thus, we first have to clean the inodes in ->mk_decrypted_inodes.
+0 −14
Original line number Diff line number Diff line
@@ -178,8 +178,6 @@ int fscrypt_ioctl_add_key(struct file *filp, void __user *arg);
int fscrypt_ioctl_remove_key(struct file *filp, void __user *arg);
int fscrypt_ioctl_remove_key_all_users(struct file *filp, void __user *arg);
int fscrypt_ioctl_get_key_status(struct file *filp, void __user *arg);
int fscrypt_register_key_removal_notifier(struct notifier_block *nb);
int fscrypt_unregister_key_removal_notifier(struct notifier_block *nb);

/* keysetup.c */
int fscrypt_get_encryption_info(struct inode *inode);
@@ -382,18 +380,6 @@ static inline int fscrypt_ioctl_get_key_status(struct file *filp,
	return -EOPNOTSUPP;
}

static inline int fscrypt_register_key_removal_notifier(
						struct notifier_block *nb)
{
	return 0;
}

static inline int fscrypt_unregister_key_removal_notifier(
						struct notifier_block *nb)
{
	return 0;
}

/* keysetup.c */
static inline int fscrypt_get_encryption_info(struct inode *inode)
{