Messages in this thread | | | From | Yann Droneaud <> | Subject | [PATCH v1 0/3] No more seq_file pre-allocation | Date | Mon, 1 Jun 2015 23:32:12 +0200 |
| |
Hi,
Please find a revised patchset to remove support for passing pre-allocated struct seq_file to seq_open().
Such feature is undocumented and prone to error.
In particular, if seq_release() is used in release handler, it will kfree() a pointer which was not allocated by seq_open().
So, please find a patchset that drop the support for pre-allocated struct seq_file: it's only of use in proc_namespace.c and can be easily replaced by using seq_open_private()/seq_release_private().
Additionally, it documents the use of file->private_data to hold pointer to struct seq_file by seq_open().
Changes from v0 [0]: - convert kmalloc() + memset() to kzalloc() - revised a bit commit messages
[0] [PATCH 0/3] seq_file allocation in seq_open()
http://lkml.kernel.org/r/cover.1430777196.git.ydroneaud@opteya.com http://lkml.kernel.org/g/cover.1430777196.git.ydroneaud@opteya.com
Yann Droneaud (3): fs: use seq_open_private() for proc_mounts fs: allocate structure unconditionally in seq_open() fs: documents seq_open()'s usage of file->private_data
fs/mount.h | 3 --- fs/namespace.c | 6 +++--- fs/proc_namespace.c | 34 ++++++++++++++++------------------ fs/seq_file.c | 19 +++++++++++-------- 4 files changed, 30 insertions(+), 32 deletions(-)
-- 2.4.2
| |