Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tracefs: Annotate tracefs_ops with __ro_after_init

tracefs_ops is initialized inside tracefs_create_instance_dir and not
modified after. tracefs_create_instance_dir allows for initialization
only once, and is called from create_trace_instances(marked __init),
which is called from tracer_init_tracefs(marked __init). Also, mark
tracefs_create_instance_dir as __init.

Link: http://lkml.kernel.org/r/20180725171901.4468-1-zsm@chromium.org

Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Zubin Mithra <zsm@chromium.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

authored by

Zubin Mithra and committed by
Steven Rostedt (VMware)
5248ee85 c3bc8fd6

+3 -2
+3 -2
fs/tracefs/inode.c
··· 53 53 static struct tracefs_dir_ops { 54 54 int (*mkdir)(const char *name); 55 55 int (*rmdir)(const char *name); 56 - } tracefs_ops; 56 + } tracefs_ops __ro_after_init; 57 57 58 58 static char *get_dname(struct dentry *dentry) 59 59 { ··· 478 478 * 479 479 * Returns the dentry of the instances directory. 480 480 */ 481 - struct dentry *tracefs_create_instance_dir(const char *name, struct dentry *parent, 481 + __init struct dentry *tracefs_create_instance_dir(const char *name, 482 + struct dentry *parent, 482 483 int (*mkdir)(const char *name), 483 484 int (*rmdir)(const char *name)) 484 485 {