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
13
ipc/util.c
13
ipc/util.c
|
@ -165,13 +165,12 @@ void __init ipc_init_proc_interface(const char *path, const char *header,
|
||||||
iface->ids = ids;
|
iface->ids = ids;
|
||||||
iface->show = show;
|
iface->show = show;
|
||||||
|
|
||||||
pde = create_proc_entry(path,
|
pde = proc_create_data(path,
|
||||||
S_IRUGO, /* world readable */
|
S_IRUGO, /* world readable */
|
||||||
NULL /* parent dir */);
|
NULL, /* parent dir */
|
||||||
if (pde) {
|
&sysvipc_proc_fops,
|
||||||
pde->data = iface;
|
iface);
|
||||||
pde->proc_fops = &sysvipc_proc_fops;
|
if (!pde) {
|
||||||
} else {
|
|
||||||
kfree(iface);
|
kfree(iface);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue