Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 50f0dd43 authored by Daniel Rosenberg's avatar Daniel Rosenberg Committed by Alistair Strachan
Browse files

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: default avatarDaniel Rosenberg <drosen@google.com>
Signed-off-by: default avatarGuenter 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: default avatarAlistair Strachan <astrachan@google.com>
parent f0a310e5
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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)
{
+4 −0
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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)
{