struct nd_struct *node = de->data;
de->proc_iops = &dpa_inode_ops;
- de->proc_fops = &dpa_ops;
+ rcu_assign_pointer(de->proc_fops, &dpa_ops);
node->nd_dpa_de = de;
spin_lock_init(&node->nd_dpa_lock);
struct nd_struct *node = de->data;
de->proc_iops = &mon_inode_ops;
- de->proc_fops = &mon_ops;
+ rcu_assign_pointer(de->proc_fops, &mon_ops);
node->nd_mon_de = de;
sema_init(&node->nd_mon_semaphore, 1);
}
struct nd_struct *node = de->data;
de->proc_iops = &net_inode_ops;
- de->proc_fops = &net_ops;
+ rcu_assign_pointer(de->proc_fops, &net_ops);
node->nd_net_de = de;
sema_init(&node->nd_net_semaphore, 1);
node->nd_state = NS_CLOSED;
struct nd_struct *node = de->data;
de->proc_iops = &ports_inode_ops;
- de->proc_fops = &ports_ops;
+ rcu_assign_pointer(de->proc_fops, &ports_ops);
node->nd_ports_de = de;
}
if (!table->child) {
de->proc_iops = &proc_inode_ops;
if (table->proc_file_ops)
- de->proc_fops = table->proc_file_ops;
+ rcu_assign_pointer(de->proc_fops,
+ table->proc_file_ops);
else
- de->proc_fops = &dgrp_proc_file_ops;
+ rcu_assign_pointer(de->proc_fops,
+ &dgrp_proc_file_ops);
}
}
table->de = de;