Using create_proc_entry() + ->proc_fops assignment is racy because ->proc_fops will be NULL for some time. To avoid this, we need to use proc_create(). This would change something like: struct proc_dir_entry *entry; entry = create_proc_entry("foo", 0, NULL); if (entry) entry->proc_fops = &file_ops; To something like: struct proc_dir_entry *entry; entry = proc_create("foo", 0, NULL, &file_ops); This will require re-architecting the _stp_create_procfs() runtime function (in runtime/procfs.c) a bit to take a fops argument.
Fixed in commit 23b7dbf.