From: Aruna Balakrishnaiah Date: Tue, 25 Jun 2013 09:03:56 +0000 (+0530) Subject: pstore: Fail to unlink if a driver has not defined pstore_erase X-Git-Tag: v3.11-rc1~116^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bf2883339a33b7544b92ea465b90c3de55082032;p=thirdparty%2Fkernel%2Flinux.git 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 --- diff --git a/fs/pstore/inode.c b/fs/pstore/inode.c index e4bcb2cf055a1..bfd95bf38005c 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); }