diff options
author | Jeff Layton <jlayton@redhat.com> | 2012-10-10 15:25:28 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-12 20:15:08 -0400 |
commit | 7ac86265dc8f665cc49d6e60a125e608cd2fca14 (patch) | |
tree | 9e7941e2d8dfb2106c5fb28504531dafc72e14e6 /fs/namei.c | |
parent | 91a27b2a756784714e924e5e854b919273082d26 (diff) |
audit: allow audit code to satisfy getname requests from its names_list
Currently, if we call getname() on a userland string more than once,
we'll get multiple copies of the string and multiple audit_names
records.
Add a function that will allow the audit_names code to satisfy getname
requests using info from the audit_names list, avoiding a new allocation
and audit_names records.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/namei.c')
-rw-r--r-- | fs/namei.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/namei.c b/fs/namei.c index ec638d27642f..5dbc3f836934 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -130,6 +130,10 @@ getname_flags(const char __user *filename, int flags, int *empty) | |||
130 | char *kname; | 130 | char *kname; |
131 | int len; | 131 | int len; |
132 | 132 | ||
133 | result = audit_reusename(filename); | ||
134 | if (result) | ||
135 | return result; | ||
136 | |||
133 | /* FIXME: create dedicated slabcache? */ | 137 | /* FIXME: create dedicated slabcache? */ |
134 | result = kzalloc(sizeof(*result), GFP_KERNEL); | 138 | result = kzalloc(sizeof(*result), GFP_KERNEL); |
135 | if (unlikely(!result)) | 139 | if (unlikely(!result)) |