Messages in this thread | | | From | Tejun Heo <> | Subject | [PATCHSET] kernfs, cgroup: make kernfs_path*() and cgroup_path*() behave in strlcpy() style | Date | Tue, 9 Aug 2016 01:23:20 -0400 |
| |
kernfs path formatting functions always return the length of full path but the content of the output buffer is undefined when the length is longer than the provided buffer. Most cgroup path formatting functions return the start of the output or NULL on errors including overflow. These inconsistent and rather peculiar behaviors developed over time and make these functions unnecessarily difficult to use. This patchset updates the formatting functions so that they all behave in the style of strlcpy().
Greg, these changes are used by cgroup tracepoint additions and shouldn't affect other users much. Would it be okay to route these through the cgroup tree?
0001-kernfs-add-dummy-implementation-of-kernfs_path_from_.patch 0002-kernfs-make-kernfs_path-behave-in-the-style-of-strlc.patch 0003-kernfs-remove-kernfs_path_len.patch 0004-cgroup-make-cgroup_path-and-friends-behave-in-the-st.patch
The patches are also available in the following git branch.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-kernfs_path-strlcpy
diffstat follows. Thanks.
fs/kernfs/dir.c | 84 +++++++++------------------------------------ fs/sysfs/dir.c | 6 +-- include/linux/blk-cgroup.h | 11 ----- include/linux/cgroup.h | 9 ++-- include/linux/kernfs.h | 28 ++++++++++----- kernel/cgroup.c | 48 +++++++++++-------------- kernel/cpuset.c | 12 +++--- 7 files changed, 73 insertions(+), 125 deletions(-)
-- tejun
| |