From: "Denis V. Lunev" Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data be setup before gluing PDE to main tree. Signed-off-by: Denis V. Lunev Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton --- fs/proc/proc_misc.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff -puN fs/proc/proc_misc.c~proc-use-non-racy-method-for-proc-page_owner-creation-page_owner fs/proc/proc_misc.c --- a/fs/proc/proc_misc.c~proc-use-non-racy-method-for-proc-page_owner-creation-page_owner +++ a/fs/proc/proc_misc.c @@ -1044,12 +1044,10 @@ void __init proc_misc_init(void) #ifdef CONFIG_PAGE_OWNER { struct proc_dir_entry *entry; - entry = create_proc_entry("page_owner", - S_IWUSR | S_IRUGO, NULL); - if (entry) { - entry->proc_fops = &proc_page_owner_operations; + entry = proc_create("page_owner", + S_IWUSR | S_IRUGO, NULL, &proc_page_owner_operations); + if (entry) entry->size = 1024; - } } #endif } _