ANDROID: sdcardfs: Enable modular sdcardfs
Export the following symbols: - copy_fs_struct - free_fs_struct - security_path_chown - set_fs_pwd - vfs_read - vfs_write These are needed to build sdcardfs as a module. Bug: 35142419 Bug: 120446149 Change-Id: If6e14f0b3bdc858a9f684e6c209927a9232091f0 Signed-off-by: Daniel Rosenberg <drosen@google.com> Signed-off-by: Guenter Roeck <groeck@chromium.org> [astrachan: Folded the following changes into this patch: e19f69662df5 ("ANDROID: Revert "fs: unexport vfs_read and vfs_write"") 17071a8e1e7d ("ANDROID: fs: Export free_fs_struct and set_fs_pwd") 2e9a639597cd ("ANDROID: export security_path_chown")] Signed-off-by: Alistair Strachan <astrachan@google.com>
This commit is contained in:
committed by
Alistair Strachan
parent
f0a310e56f
commit
50f0dd432b
@@ -45,6 +45,7 @@ void set_fs_pwd(struct fs_struct *fs, const struct path *path)
|
||||
if (old_pwd.dentry)
|
||||
path_put(&old_pwd);
|
||||
}
|
||||
EXPORT_SYMBOL(set_fs_pwd);
|
||||
|
||||
static inline int replace_path(struct path *p, const struct path *old, const struct path *new)
|
||||
{
|
||||
@@ -90,6 +91,7 @@ void free_fs_struct(struct fs_struct *fs)
|
||||
path_put(&fs->pwd);
|
||||
kmem_cache_free(fs_cachep, fs);
|
||||
}
|
||||
EXPORT_SYMBOL(free_fs_struct);
|
||||
|
||||
void exit_fs(struct task_struct *tsk)
|
||||
{
|
||||
@@ -128,6 +130,7 @@ struct fs_struct *copy_fs_struct(struct fs_struct *old)
|
||||
}
|
||||
return fs;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(copy_fs_struct);
|
||||
|
||||
int unshare_fs_struct(void)
|
||||
{
|
||||
|
||||
@@ -460,6 +460,8 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
|
||||
return ret;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(vfs_read);
|
||||
|
||||
static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
|
||||
{
|
||||
struct iovec iov = { .iov_base = (void __user *)buf, .iov_len = len };
|
||||
@@ -558,6 +560,8 @@ ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_
|
||||
return ret;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(vfs_write);
|
||||
|
||||
static inline loff_t file_pos_read(struct file *file)
|
||||
{
|
||||
return file->f_pos;
|
||||
|
||||
@@ -607,6 +607,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
|
||||
return 0;
|
||||
return call_int_hook(path_chown, 0, path, uid, gid);
|
||||
}
|
||||
EXPORT_SYMBOL(security_path_chown);
|
||||
|
||||
int security_path_chroot(const struct path *path)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user