diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-08-24 12:08:17 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-18 10:45:45 -0400 |
commit | ad4c3cc41d6248a80231a6b87f1dab31542f011c (patch) | |
tree | b074753cd8c210c33d32f383623a3ebee569d6c7 /mm | |
parent | 92a02b07759bb5cbed4a4793019d14247649925c (diff) |
cope with potentially long ->d_dname() output for shmem/hugetlb
commit 118b23022512eb2f41ce42db70dc0568d00be4ba upstream.
dynamic_dname() is both too much and too little for those - the
output may be well in excess of 64 bytes dynamic_dname() assumes
to be enough (thanks to ashmem feeding really long names to
shmem_file_setup()) and vsnprintf() is an overkill for those
guys.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Colin Cross <ccross@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/shmem.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index 5e6a8422658b..509b393eceeb 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -2879,14 +2879,8 @@ EXPORT_SYMBOL_GPL(shmem_truncate_range); | |||
2879 | 2879 | ||
2880 | /* common code */ | 2880 | /* common code */ |
2881 | 2881 | ||
2882 | static char *shmem_dname(struct dentry *dentry, char *buffer, int buflen) | ||
2883 | { | ||
2884 | return dynamic_dname(dentry, buffer, buflen, "/%s (deleted)", | ||
2885 | dentry->d_name.name); | ||
2886 | } | ||
2887 | |||
2888 | static struct dentry_operations anon_ops = { | 2882 | static struct dentry_operations anon_ops = { |
2889 | .d_dname = shmem_dname | 2883 | .d_dname = simple_dname |
2890 | }; | 2884 | }; |
2891 | 2885 | ||
2892 | /** | 2886 | /** |