[PATCH 9/29] sysvipc: use non-racy method for proc entries creation

Denis V. Lunev
2008-04-08T11:26:55Z

Use 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 <den@openvz.org>
---
ipc/util.c | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/ipc/util.c b/ipc/util.c
index 4c465cb..3339177 100644
--- a/ipc/util.c
+++ b/ipc/util.c
@@ -165,13 +165,12 @@ void __init ipc_init_proc_interface(const char *path, const char *header,
iface->ids = ids;
iface->show = show;

- pde = create_proc_entry(path,
- S_IRUGO, /* world readable */
- NULL /* parent dir */);
- if (pde) {
- pde->data = iface;
- pde->proc_fops = &sysvipc_proc_fops;
- } else {
+ pde = proc_create_data(path,
+ S_IRUGO, /* world readable */
+ NULL, /* parent dir */
+ &sysvipc_proc_fops,
+ iface);
+ if (!pde) {
kfree(iface);
}
}
--
1.5.3.rc5