From bf2883339a33b7544b92ea465b90c3de55082032 Mon Sep 17 00:00:00 2001 From: Aruna Balakrishnaiah Date: Tue, 25 Jun 2013 14:33:56 +0530 Subject: pstore: Fail to unlink if a driver has not defined pstore_erase pstore_erase is used to erase the record from the persistent store. So if a driver has not defined pstore_erase callback return -EPERM instead of unlinking a file as deleting the file without erasing its record in persistent store will give a wrong impression to customers. Signed-off-by: Aruna Balakrishnaiah Acked-by: Kees Cook Signed-off-by: Tony Luck --- fs/pstore/inode.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'fs/pstore') diff --git a/fs/pstore/inode.c b/fs/pstore/inode.c index e4bcb2cf055a..bfd95bf38005 100644 --- a/fs/pstore/inode.c +++ b/fs/pstore/inode.c @@ -178,6 +178,8 @@ static int pstore_unlink(struct inode *dir, struct dentry *dentry) if (p->psi->erase) p->psi->erase(p->type, p->id, p->count, dentry->d_inode->i_ctime, p->psi); + else + return -EPERM; return simple_unlink(dir, dentry); } -- cgit v1.2.3-59-g8ed1b