mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 04:01:48 -04:00
vfs: define struct filename and have getname() return it
getname() is intended to copy pathname strings from userspace into a kernel buffer. The result is just a string in kernel space. It would however be quite helpful to be able to attach some ancillary info to the string. For instance, we could attach some audit-related info to reduce the amount of audit-related processing needed. When auditing is enabled, we could also call getname() on the string more than once and not need to recopy it from userspace. This patchset converts the getname()/putname() interfaces to return a struct instead of a string. For now, the struct just tracks the string in kernel space and the original userland pointer for it. Later, we'll add other information to the struct as it becomes convenient. Signed-off-by: Jeff Layton <[email protected]> Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
parent
8e377d1507
commit
91a27b2a75
40 changed files with 218 additions and 175 deletions
|
|
@ -2408,7 +2408,7 @@ SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name,
|
|||
{
|
||||
int ret;
|
||||
char *kernel_type;
|
||||
char *kernel_dir;
|
||||
struct filename *kernel_dir;
|
||||
char *kernel_dev;
|
||||
unsigned long data_page;
|
||||
|
||||
|
|
@ -2430,7 +2430,7 @@ SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name,
|
|||
if (ret < 0)
|
||||
goto out_data;
|
||||
|
||||
ret = do_mount(kernel_dev, kernel_dir, kernel_type, flags,
|
||||
ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags,
|
||||
(void *) data_page);
|
||||
|
||||
free_page(data_page);
|
||||
|
|
|
|||
Loading…
Reference in a new issue