Commit d66a0520cb46fb4f86b070e5f1926f6e53f23b38
Committed by
Linus Torvalds
1 parent
bf77b94c99
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
ipc/util.c: use __seq_open_private() instead of seq_open()
Using __seq_open_private() removes boilerplate code from sysvipc_proc_open(). The resultant code is shorter and easier to follow. However, please note that __seq_open_private() call kzalloc() rather than kmalloc() which may affect timing due to the memory initialisation overhead. Signed-off-by: Rob Jones <rob.jones@codethink.co.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 4 additions and 16 deletions Side-by-side Diff
ipc/util.c
... | ... | @@ -892,28 +892,16 @@ |
892 | 892 | |
893 | 893 | static int sysvipc_proc_open(struct inode *inode, struct file *file) |
894 | 894 | { |
895 | - int ret; | |
896 | - struct seq_file *seq; | |
897 | 895 | struct ipc_proc_iter *iter; |
898 | 896 | |
899 | - ret = -ENOMEM; | |
900 | - iter = kmalloc(sizeof(*iter), GFP_KERNEL); | |
897 | + iter = __seq_open_private(file, &sysvipc_proc_seqops, sizeof(*iter)); | |
901 | 898 | if (!iter) |
902 | - goto out; | |
899 | + return -ENOMEM; | |
903 | 900 | |
904 | - ret = seq_open(file, &sysvipc_proc_seqops); | |
905 | - if (ret) { | |
906 | - kfree(iter); | |
907 | - goto out; | |
908 | - } | |
909 | - | |
910 | - seq = file->private_data; | |
911 | - seq->private = iter; | |
912 | - | |
913 | 901 | iter->iface = PDE_DATA(inode); |
914 | 902 | iter->ns = get_ipc_ns(current->nsproxy->ipc_ns); |
915 | -out: | |
916 | - return ret; | |
903 | + | |
904 | + return 0; | |
917 | 905 | } |
918 | 906 | |
919 | 907 | static int sysvipc_proc_release(struct inode *inode, struct file *file) |