[PATCH] tracefs: Fix NULL pointer dereference when no lockdown is used

From: Marek Szyprowski
Date: Wed Aug 14 2019 - 02:13:04 EST


Commit 757ff7244358 ("tracefs: Restrict tracefs when the kernel is locked
down") added infrastructure for restricting tracefs access when lockdown
is enabled. It however broke tracefs operation when no lockdown is used.
Fix this issue by adding missing check for a NULL ->open() callback.

Fixes: 757ff7244358 ("tracefs: Restrict tracefs when the kernel is locked down")
Reported-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
---
fs/tracefs/inode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c
index 12a325fb4cbd..8efff7603032 100644
--- a/fs/tracefs/inode.c
+++ b/fs/tracefs/inode.c
@@ -43,7 +43,7 @@ static int default_open_file(struct inode *inode, struct file *filp)
return ret;

real_fops = dentry->d_fsdata;
- return real_fops->open(inode, filp);
+ return real_fops->open ? real_fops->open(inode, filp) : 0;
}

static ssize_t default_read_file(struct file *file, char __user *buf,
--
2.17.1