]> git.baikalelectronics.ru Git - kernel.git/commit
kernfs_path_from_node_locked: don't overwrite nlen
authorSerge Hallyn <serge.hallyn@ubuntu.com>
Sun, 17 Apr 2016 20:04:31 +0000 (15:04 -0500)
committerTejun Heo <tj@kernel.org>
Mon, 2 May 2016 16:36:00 +0000 (12:36 -0400)
commitdd5d61416b01e3863c9d994f63a897f7ea12d016
tree42dc9e95de445478f515029d2e12d8703a447ff6
parentb8a2c0873fd5c73a6e3fb3d9d6872cb1d02843a5
kernfs_path_from_node_locked: don't overwrite nlen

We've calculated @len to be the bytes we need for '/..' entries from
@kn_from to the common ancestor, and calculated @nlen to be the extra
bytes we need to get from the common ancestor to @kn_to.  We use them
as such at the end.  But in the loop copying the actual entries, we
overwrite @nlen.  Use a temporary variable for that instead.

Without this, the return length, when the buffer is large enough, is
wrong.  (When the buffer is NULL or too small, the returned value is
correct. The buffer contents are also correct.)

Interestingly, no callers of this function are affected by this as of
yet.  However the upcoming cgroup_show_path() will be.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
fs/kernfs/dir.c