lkml.org 
[lkml]   [2015]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v1 0/3] No more seq_file pre-allocation
Date
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



\
 
 \ /
  Last update: 2015-06-02 00:21    [W:0.074 / U:0.348 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site