Message ID | 20190812002833.2zij7tfsqtpvqu3a@decadent.org.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tracefs: Fix potential null dereference in default_file_open() | expand |
diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c index 34da48036e08..761af8ce4015 100644 --- a/fs/tracefs/inode.c +++ b/fs/tracefs/inode.c @@ -42,6 +42,8 @@ static int default_open_file(struct inode *inode, struct file *filp) return ret; real_fops = dentry->d_fsdata; + if (!real_fops->open) + return 0; return real_fops->open(inode, filp); }
The "open" operation in struct file_operations is optional, and ftrace_event_id_fops does not set it. In default_file_open(), after all other checks have passed, return 0 if the underlying struct file_operations does not implement open. Fixes: 757ff7244358 ("tracefs: Restrict tracefs when the kernel is …") References: https://bugs.debian.org/934304 Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- fs/tracefs/inode.c | 2 ++ 1 file changed, 2 insertions(+)