mirror of https://gitee.com/openkylin/linux.git
sysvipc: use non-racy method for proc entries creation
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> Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Nadia Derbey <Nadia.Derbey@bull.net> Cc: Pierre Peiffer <peifferp@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
79da3664f6
commit
6a6375db13
11
ipc/util.c
11
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,
|
||||
pde = proc_create_data(path,
|
||||
S_IRUGO, /* world readable */
|
||||
NULL /* parent dir */);
|
||||
if (pde) {
|
||||
pde->data = iface;
|
||||
pde->proc_fops = &sysvipc_proc_fops;
|
||||
} else {
|
||||
NULL, /* parent dir */
|
||||
&sysvipc_proc_fops,
|
||||
iface);
|
||||
if (!pde) {
|
||||
kfree(iface);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue