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-Url: https://git.stricted.de/?a=commitdiff_plain;h=bf2883339a33b7544b92ea465b90c3de55082032;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.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 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); }