ANDROID: GKI: set vfs-only exports into their own namespace

We have namespaces, so use them for all vfs-exported namespaces so that
filesystems can use them, but not anything else.

Some in-kernel drivers that do direct filesystem accesses (because they
serve up files) are also allowed access to these symbols to keep 'make
allmodconfig' builds working properly, but it is not needed for Android
kernel images.

Bug: 157965270
Bug: 210074446
Cc: Matthias Maennich <maennich@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iaf6140baf3a18a516ab2d5c3966235c42f3f70de
This commit is contained in:
Greg Kroah-Hartman
2020-07-02 12:51:03 +02:00
parent 27fc5a7c69
commit d483eed85f
96 changed files with 156 additions and 80 deletions

View File

@@ -2453,5 +2453,6 @@ static void __exit ns_cleanup_module(void)
module_exit(ns_cleanup_module); module_exit(ns_cleanup_module);
MODULE_LICENSE ("GPL"); MODULE_LICENSE ("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
MODULE_AUTHOR ("Artem B. Bityuckiy"); MODULE_AUTHOR ("Artem B. Bityuckiy");
MODULE_DESCRIPTION ("The NAND flash simulator"); MODULE_DESCRIPTION ("The NAND flash simulator");

View File

@@ -1476,3 +1476,4 @@ MODULE_VERSION(__stringify(UBI_VERSION));
MODULE_DESCRIPTION("UBI - Unsorted Block Images"); MODULE_DESCRIPTION("UBI - Unsorted Block Images");
MODULE_AUTHOR("Artem Bityutskiy"); MODULE_AUTHOR("Artem Bityutskiy");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);

View File

@@ -1602,3 +1602,4 @@ module_init(nvmet_init);
module_exit(nvmet_exit); module_exit(nvmet_exit);
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);

View File

@@ -3644,6 +3644,7 @@ static void __exit target_core_exit_configfs(void)
MODULE_DESCRIPTION("Target_Core_Mod/ConfigFS"); MODULE_DESCRIPTION("Target_Core_Mod/ConfigFS");
MODULE_AUTHOR("nab@Linux-iSCSI.org"); MODULE_AUTHOR("nab@Linux-iSCSI.org");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
module_init(target_core_init_configfs); module_init(target_core_init_configfs);
module_exit(target_core_exit_configfs); module_exit(target_core_exit_configfs);

View File

@@ -956,6 +956,7 @@ static void __exit fileio_module_exit(void)
MODULE_DESCRIPTION("TCM FILEIO subsystem plugin"); MODULE_DESCRIPTION("TCM FILEIO subsystem plugin");
MODULE_AUTHOR("nab@Linux-iSCSI.org"); MODULE_AUTHOR("nab@Linux-iSCSI.org");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
module_init(fileio_module_init); module_init(fileio_module_init);
module_exit(fileio_module_exit); module_exit(fileio_module_exit);

View File

@@ -3446,6 +3446,7 @@ static struct usb_function *fsg_alloc(struct usb_function_instance *fi)
DECLARE_USB_FUNCTION_INIT(mass_storage, fsg_alloc_inst, fsg_alloc); DECLARE_USB_FUNCTION_INIT(mass_storage, fsg_alloc_inst, fsg_alloc);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
MODULE_AUTHOR("Michal Nazarewicz"); MODULE_AUTHOR("Michal Nazarewicz");
/************************* Module parameters *************************/ /************************* Module parameters *************************/

View File

@@ -1015,4 +1015,5 @@ static struct usb_function *f_audio_alloc(struct usb_function_instance *fi)
DECLARE_USB_FUNCTION_INIT(uac1_legacy, f_audio_alloc_inst, f_audio_alloc); DECLARE_USB_FUNCTION_INIT(uac1_legacy, f_audio_alloc_inst, f_audio_alloc);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
MODULE_AUTHOR("Bryan Wu"); MODULE_AUTHOR("Bryan Wu");

View File

@@ -520,3 +520,4 @@ ssize_t fsg_store_inquiry_string(struct fsg_lun *curlun, const char *buf,
EXPORT_SYMBOL_GPL(fsg_store_inquiry_string); EXPORT_SYMBOL_GPL(fsg_store_inquiry_string);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);

View File

@@ -738,3 +738,4 @@ MODULE_AUTHOR("Latchesar Ionkov <lucho@ionkov.net>");
MODULE_AUTHOR("Eric Van Hensbergen <ericvh@gmail.com>"); MODULE_AUTHOR("Eric Van Hensbergen <ericvh@gmail.com>");
MODULE_AUTHOR("Ron Minnich <rminnich@lanl.gov>"); MODULE_AUTHOR("Ron Minnich <rminnich@lanl.gov>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -6,6 +6,8 @@
# Rewritten to use lists instead of if-statements. # Rewritten to use lists instead of if-statements.
# #
subdir-ccflags-y += -DANDROID_GKI_VFS_EXPORT_ONLY=VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver
obj-y := open.o read_write.o file_table.o super.o \ obj-y := open.o read_write.o file_table.o super.o \
char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \ char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
ioctl.o readdir.o select.o dcache.o inode.o \ ioctl.o readdir.o select.o dcache.o inode.o \

View File

@@ -492,3 +492,4 @@ static void __exit exit_adfs_fs(void)
module_init(init_adfs_fs) module_init(init_adfs_fs)
module_exit(exit_adfs_fs) module_exit(exit_adfs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -676,6 +676,7 @@ static void __exit exit_affs_fs(void)
MODULE_DESCRIPTION("Amiga filesystem support for Linux"); MODULE_DESCRIPTION("Amiga filesystem support for Linux");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(init_affs_fs) module_init(init_affs_fs)
module_exit(exit_affs_fs) module_exit(exit_affs_fs)

View File

@@ -18,6 +18,7 @@
MODULE_DESCRIPTION("AFS Client File System"); MODULE_DESCRIPTION("AFS Client File System");
MODULE_AUTHOR("Red Hat, Inc."); MODULE_AUTHOR("Red Hat, Inc.");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
unsigned afs_debug; unsigned afs_debug;
module_param_named(debug, afs_debug, uint, S_IWUSR | S_IRUGO); module_param_named(debug, afs_debug, uint, S_IWUSR | S_IRUGO);

View File

@@ -114,7 +114,7 @@ kill_priv:
return 0; return 0;
} }
EXPORT_SYMBOL(setattr_prepare); EXPORT_SYMBOL_NS(setattr_prepare, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* inode_newsize_ok - may this inode be truncated to a given size * inode_newsize_ok - may this inode be truncated to a given size
@@ -158,7 +158,7 @@ out_sig:
out_big: out_big:
return -EFBIG; return -EFBIG;
} }
EXPORT_SYMBOL(inode_newsize_ok); EXPORT_SYMBOL_NS(inode_newsize_ok, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* setattr_copy - copy simple metadata updates into the generic inode * setattr_copy - copy simple metadata updates into the generic inode
@@ -345,4 +345,4 @@ int notify_change(struct dentry * dentry, struct iattr * attr, struct inode **de
return error; return error;
} }
EXPORT_SYMBOL(notify_change); EXPORT_SYMBOL_NS(notify_change, ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -44,3 +44,4 @@ static void __exit exit_autofs_fs(void)
module_init(init_autofs_fs) module_init(init_autofs_fs)
module_exit(exit_autofs_fs) module_exit(exit_autofs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -207,7 +207,7 @@ void make_bad_inode(struct inode *inode)
inode->i_opflags &= ~IOP_XATTR; inode->i_opflags &= ~IOP_XATTR;
inode->i_fop = &bad_file_ops; inode->i_fop = &bad_file_ops;
} }
EXPORT_SYMBOL(make_bad_inode); EXPORT_SYMBOL_NS(make_bad_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* This tests whether an inode has been flagged as bad. The test uses * This tests whether an inode has been flagged as bad. The test uses
@@ -227,7 +227,7 @@ bool is_bad_inode(struct inode *inode)
return (inode->i_op == &bad_inode_ops); return (inode->i_op == &bad_inode_ops);
} }
EXPORT_SYMBOL(is_bad_inode); EXPORT_SYMBOL_NS(is_bad_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* iget_failed - Mark an under-construction inode as dead and release it * iget_failed - Mark an under-construction inode as dead and release it

View File

@@ -34,6 +34,7 @@
MODULE_DESCRIPTION("BeOS File System (BeFS) driver"); MODULE_DESCRIPTION("BeOS File System (BeFS) driver");
MODULE_AUTHOR("Will Dyson"); MODULE_AUTHOR("Will Dyson");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
/* The units the vfs expects inode->i_blocks to be in */ /* The units the vfs expects inode->i_blocks to be in */
#define VFS_BLOCK_SIZE 512 #define VFS_BLOCK_SIZE 512

View File

@@ -22,6 +22,7 @@
MODULE_AUTHOR("Tigran Aivazian <aivazian.tigran@gmail.com>"); MODULE_AUTHOR("Tigran Aivazian <aivazian.tigran@gmail.com>");
MODULE_DESCRIPTION("SCO UnixWare BFS filesystem for Linux"); MODULE_DESCRIPTION("SCO UnixWare BFS filesystem for Linux");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
#undef DEBUG #undef DEBUG

View File

@@ -832,3 +832,4 @@ static void __exit exit_misc_binfmt(void)
core_initcall(init_misc_binfmt); core_initcall(init_misc_binfmt);
module_exit(exit_misc_binfmt); module_exit(exit_misc_binfmt);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -186,7 +186,7 @@ int sb_set_blocksize(struct super_block *sb, int size)
return sb->s_blocksize; return sb->s_blocksize;
} }
EXPORT_SYMBOL(sb_set_blocksize); EXPORT_SYMBOL_NS(sb_set_blocksize, ANDROID_GKI_VFS_EXPORT_ONLY);
int sb_min_blocksize(struct super_block *sb, int size) int sb_min_blocksize(struct super_block *sb, int size)
{ {
@@ -196,7 +196,7 @@ int sb_min_blocksize(struct super_block *sb, int size)
return sb_set_blocksize(sb, size); return sb_set_blocksize(sb, size);
} }
EXPORT_SYMBOL(sb_min_blocksize); EXPORT_SYMBOL_NS(sb_min_blocksize, ANDROID_GKI_VFS_EXPORT_ONLY);
static int static int
blkdev_get_block(struct inode *inode, sector_t iblock, blkdev_get_block(struct inode *inode, sector_t iblock,

View File

@@ -2597,6 +2597,7 @@ late_initcall(init_btrfs_fs);
module_exit(exit_btrfs_fs) module_exit(exit_btrfs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_SOFTDEP("pre: crc32c"); MODULE_SOFTDEP("pre: crc32c");
MODULE_SOFTDEP("pre: xxhash64"); MODULE_SOFTDEP("pre: xxhash64");
MODULE_SOFTDEP("pre: sha256"); MODULE_SOFTDEP("pre: sha256");

View File

@@ -173,7 +173,7 @@ void end_buffer_write_sync(struct buffer_head *bh, int uptodate)
unlock_buffer(bh); unlock_buffer(bh);
put_bh(bh); put_bh(bh);
} }
EXPORT_SYMBOL(end_buffer_write_sync); EXPORT_SYMBOL_NS(end_buffer_write_sync, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Various filesystems appear to want __find_get_block to be non-blocking. * Various filesystems appear to want __find_get_block to be non-blocking.
@@ -419,7 +419,7 @@ void mark_buffer_async_write(struct buffer_head *bh)
{ {
mark_buffer_async_write_endio(bh, end_buffer_async_write); mark_buffer_async_write_endio(bh, end_buffer_async_write);
} }
EXPORT_SYMBOL(mark_buffer_async_write); EXPORT_SYMBOL_NS(mark_buffer_async_write, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
@@ -674,7 +674,7 @@ int __set_page_dirty_buffers(struct page *page)
return newly_dirty; return newly_dirty;
} }
EXPORT_SYMBOL(__set_page_dirty_buffers); EXPORT_SYMBOL_NS(__set_page_dirty_buffers, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Write out and wait upon a list of buffers. * Write out and wait upon a list of buffers.
@@ -1141,7 +1141,7 @@ void mark_buffer_dirty(struct buffer_head *bh)
__mark_inode_dirty(mapping->host, I_DIRTY_PAGES); __mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
} }
} }
EXPORT_SYMBOL(mark_buffer_dirty); EXPORT_SYMBOL_NS(mark_buffer_dirty, ANDROID_GKI_VFS_EXPORT_ONLY);
void mark_buffer_write_io_error(struct buffer_head *bh) void mark_buffer_write_io_error(struct buffer_head *bh)
{ {
@@ -1159,7 +1159,7 @@ void mark_buffer_write_io_error(struct buffer_head *bh)
errseq_set(&sb->s_wb_err, -EIO); errseq_set(&sb->s_wb_err, -EIO);
rcu_read_unlock(); rcu_read_unlock();
} }
EXPORT_SYMBOL(mark_buffer_write_io_error); EXPORT_SYMBOL_NS(mark_buffer_write_io_error, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Decrement a buffer_head's reference count. If all buffers against a page * Decrement a buffer_head's reference count. If all buffers against a page
@@ -1176,7 +1176,7 @@ void __brelse(struct buffer_head * buf)
} }
WARN(1, KERN_ERR "VFS: brelse: Trying to free free buffer\n"); WARN(1, KERN_ERR "VFS: brelse: Trying to free free buffer\n");
} }
EXPORT_SYMBOL(__brelse); EXPORT_SYMBOL_NS(__brelse, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* bforget() is like brelse(), except it discards any * bforget() is like brelse(), except it discards any
@@ -1195,7 +1195,7 @@ void __bforget(struct buffer_head *bh)
} }
__brelse(bh); __brelse(bh);
} }
EXPORT_SYMBOL(__bforget); EXPORT_SYMBOL_NS(__bforget, ANDROID_GKI_VFS_EXPORT_ONLY);
static struct buffer_head *__bread_slow(struct buffer_head *bh) static struct buffer_head *__bread_slow(struct buffer_head *bh)
{ {
@@ -1376,7 +1376,7 @@ void __breadahead(struct block_device *bdev, sector_t block, unsigned size)
brelse(bh); brelse(bh);
} }
} }
EXPORT_SYMBOL(__breadahead); EXPORT_SYMBOL_NS(__breadahead, ANDROID_GKI_VFS_EXPORT_ONLY);
void __breadahead_gfp(struct block_device *bdev, sector_t block, unsigned size, void __breadahead_gfp(struct block_device *bdev, sector_t block, unsigned size,
gfp_t gfp) gfp_t gfp)
@@ -1411,7 +1411,7 @@ __bread_gfp(struct block_device *bdev, sector_t block,
bh = __bread_slow(bh); bh = __bread_slow(bh);
return bh; return bh;
} }
EXPORT_SYMBOL(__bread_gfp); EXPORT_SYMBOL_NS(__bread_gfp, ANDROID_GKI_VFS_EXPORT_ONLY);
static void __invalidate_bh_lrus(struct bh_lru *b) static void __invalidate_bh_lrus(struct bh_lru *b)
{ {
@@ -1573,7 +1573,7 @@ void block_invalidatepage(struct page *page, unsigned int offset,
out: out:
return; return;
} }
EXPORT_SYMBOL(block_invalidatepage); EXPORT_SYMBOL_NS(block_invalidatepage, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
@@ -1609,7 +1609,7 @@ void create_empty_buffers(struct page *page,
attach_page_private(page, head); attach_page_private(page, head);
spin_unlock(&page->mapping->private_lock); spin_unlock(&page->mapping->private_lock);
} }
EXPORT_SYMBOL(create_empty_buffers); EXPORT_SYMBOL_NS(create_empty_buffers, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* clean_bdev_aliases: clean a range of buffers in block device * clean_bdev_aliases: clean a range of buffers in block device
@@ -1683,7 +1683,7 @@ unlock_page:
break; break;
} }
} }
EXPORT_SYMBOL(clean_bdev_aliases); EXPORT_SYMBOL_NS(clean_bdev_aliases, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Size is a power-of-two in the range 512..PAGE_SIZE, * Size is a power-of-two in the range 512..PAGE_SIZE,
@@ -1941,7 +1941,7 @@ void page_zero_new_buffers(struct page *page, unsigned from, unsigned to)
bh = bh->b_this_page; bh = bh->b_this_page;
} while (bh != head); } while (bh != head);
} }
EXPORT_SYMBOL(page_zero_new_buffers); EXPORT_SYMBOL_NS(page_zero_new_buffers, ANDROID_GKI_VFS_EXPORT_ONLY);
static void static void
iomap_to_bh(struct inode *inode, sector_t block, struct buffer_head *bh, iomap_to_bh(struct inode *inode, sector_t block, struct buffer_head *bh,
@@ -2275,7 +2275,7 @@ int block_is_partially_uptodate(struct page *page, unsigned long from,
return ret; return ret;
} }
EXPORT_SYMBOL(block_is_partially_uptodate); EXPORT_SYMBOL_NS(block_is_partially_uptodate, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Generic "read page" function for block devices that have the normal * Generic "read page" function for block devices that have the normal
@@ -3142,7 +3142,7 @@ void ll_rw_block(int op, int op_flags, int nr, struct buffer_head *bhs[])
unlock_buffer(bh); unlock_buffer(bh);
} }
} }
EXPORT_SYMBOL(ll_rw_block); EXPORT_SYMBOL_NS(ll_rw_block, ANDROID_GKI_VFS_EXPORT_ONLY);
void write_dirty_buffer(struct buffer_head *bh, int op_flags) void write_dirty_buffer(struct buffer_head *bh, int op_flags)
{ {
@@ -3189,13 +3189,13 @@ int __sync_dirty_buffer(struct buffer_head *bh, int op_flags)
} }
return ret; return ret;
} }
EXPORT_SYMBOL(__sync_dirty_buffer); EXPORT_SYMBOL_NS(__sync_dirty_buffer, ANDROID_GKI_VFS_EXPORT_ONLY);
int sync_dirty_buffer(struct buffer_head *bh) int sync_dirty_buffer(struct buffer_head *bh)
{ {
return __sync_dirty_buffer(bh, REQ_SYNC); return __sync_dirty_buffer(bh, REQ_SYNC);
} }
EXPORT_SYMBOL(sync_dirty_buffer); EXPORT_SYMBOL_NS(sync_dirty_buffer, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* try_to_free_buffers() checks if all the buffers on this particular page * try_to_free_buffers() checks if all the buffers on this particular page

View File

@@ -28,6 +28,7 @@ MODULE_PARM_DESC(cachefiles_debug, "CacheFiles debugging mask");
MODULE_DESCRIPTION("Mounted-filesystem based cache"); MODULE_DESCRIPTION("Mounted-filesystem based cache");
MODULE_AUTHOR("Red Hat, Inc."); MODULE_AUTHOR("Red Hat, Inc.");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
struct kmem_cache *cachefiles_object_jar; struct kmem_cache *cachefiles_object_jar;

View File

@@ -1323,3 +1323,4 @@ MODULE_AUTHOR("Yehuda Sadeh <yehuda@hq.newdream.net>");
MODULE_AUTHOR("Patience Warnick <patience@newdream.net>"); MODULE_AUTHOR("Patience Warnick <patience@newdream.net>");
MODULE_DESCRIPTION("Ceph filesystem for Linux"); MODULE_DESCRIPTION("Ceph filesystem for Linux");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -1692,6 +1692,7 @@ exit_cifs(void)
MODULE_AUTHOR("Steve French"); MODULE_AUTHOR("Steve French");
MODULE_LICENSE("GPL"); /* combination of LGPL + GPL source behaves as GPL */ MODULE_LICENSE("GPL"); /* combination of LGPL + GPL source behaves as GPL */
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_DESCRIPTION MODULE_DESCRIPTION
("VFS to access SMB3 servers e.g. Samba, Macs, Azure and Windows (and " ("VFS to access SMB3 servers e.g. Samba, Macs, Azure and Windows (and "
"also older servers complying with the SNIA CIFS Specification)"); "also older servers complying with the SNIA CIFS Specification)");

View File

@@ -388,6 +388,7 @@ MODULE_AUTHOR("Jan Harkes, Peter J. Braam");
MODULE_DESCRIPTION("Coda Distributed File System VFS interface"); MODULE_DESCRIPTION("Coda Distributed File System VFS interface");
MODULE_ALIAS_CHARDEV_MAJOR(CODA_PSDEV_MAJOR); MODULE_ALIAS_CHARDEV_MAJOR(CODA_PSDEV_MAJOR);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_VERSION("7.0"); MODULE_VERSION("7.0");
static int __init init_coda(void) static int __init init_coda(void)

View File

@@ -1010,3 +1010,4 @@ static void __exit exit_cramfs_fs(void)
module_init(init_cramfs_fs) module_init(init_cramfs_fs)
module_exit(exit_cramfs_fs) module_exit(exit_cramfs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -2110,7 +2110,7 @@ struct dentry *d_obtain_alias(struct inode *inode)
{ {
return __d_obtain_alias(inode, true); return __d_obtain_alias(inode, true);
} }
EXPORT_SYMBOL(d_obtain_alias); EXPORT_SYMBOL_NS(d_obtain_alias, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* d_obtain_root - find or allocate a dentry for a given inode * d_obtain_root - find or allocate a dentry for a given inode
@@ -2184,7 +2184,7 @@ struct dentry *d_add_ci(struct dentry *dentry, struct inode *inode,
} }
return found; return found;
} }
EXPORT_SYMBOL(d_add_ci); EXPORT_SYMBOL_NS(d_add_ci, ANDROID_GKI_VFS_EXPORT_ONLY);
static inline bool d_same_name(const struct dentry *dentry, static inline bool d_same_name(const struct dentry *dentry,
@@ -3065,7 +3065,7 @@ out:
__d_add(dentry, inode); __d_add(dentry, inode);
return NULL; return NULL;
} }
EXPORT_SYMBOL(d_splice_alias); EXPORT_SYMBOL_NS(d_splice_alias, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Test whether new_dentry is a subdirectory of old_dentry. * Test whether new_dentry is a subdirectory of old_dentry.

View File

@@ -1380,7 +1380,7 @@ ssize_t __blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
end_io, submit_io, flags); end_io, submit_io, flags);
} }
EXPORT_SYMBOL(__blockdev_direct_IO); EXPORT_SYMBOL_NS(__blockdev_direct_IO, ANDROID_GKI_VFS_EXPORT_ONLY);
static __init int dio_init(void) static __init int dio_init(void)
{ {

View File

@@ -891,6 +891,7 @@ MODULE_AUTHOR("Michael A. Halcrow <mhalcrow@us.ibm.com>");
MODULE_DESCRIPTION("eCryptfs"); MODULE_DESCRIPTION("eCryptfs");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(ecryptfs_init) module_init(ecryptfs_init)
module_exit(ecryptfs_exit) module_exit(ecryptfs_exit)

View File

@@ -272,6 +272,7 @@ static __exit void efivarfs_exit(void)
MODULE_AUTHOR("Matthew Garrett, Jeremy Kerr"); MODULE_AUTHOR("Matthew Garrett, Jeremy Kerr");
MODULE_DESCRIPTION("EFI Variable Filesystem"); MODULE_DESCRIPTION("EFI Variable Filesystem");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_ALIAS_FS("efivarfs"); MODULE_ALIAS_FS("efivarfs");
module_init(efivarfs_init); module_init(efivarfs_init);

View File

@@ -311,3 +311,4 @@ efs_block_t efs_map_block(struct inode *inode, efs_block_t block) {
} }
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -752,4 +752,5 @@ module_exit(erofs_module_exit);
MODULE_DESCRIPTION("Enhanced ROM File System"); MODULE_DESCRIPTION("Enhanced ROM File System");
MODULE_AUTHOR("Gao Xiang, Chao Yu, Miao Xie, CONSUMER BG, HUAWEI Inc."); MODULE_AUTHOR("Gao Xiang, Chao Yu, Miao Xie, CONSUMER BG, HUAWEI Inc.");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -836,5 +836,6 @@ module_exit(exit_exfat_fs);
MODULE_ALIAS_FS("exfat"); MODULE_ALIAS_FS("exfat");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_DESCRIPTION("exFAT filesystem support"); MODULE_DESCRIPTION("exFAT filesystem support");
MODULE_AUTHOR("Samsung Electronics Co., Ltd."); MODULE_AUTHOR("Samsung Electronics Co., Ltd.");

View File

@@ -1650,5 +1650,6 @@ static void __exit exit_ext2_fs(void)
MODULE_AUTHOR("Remy Card and others"); MODULE_AUTHOR("Remy Card and others");
MODULE_DESCRIPTION("Second Extended Filesystem"); MODULE_DESCRIPTION("Second Extended Filesystem");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(init_ext2_fs) module_init(init_ext2_fs)
module_exit(exit_ext2_fs) module_exit(exit_ext2_fs)

View File

@@ -6735,6 +6735,7 @@ static void __exit ext4_exit_fs(void)
MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others");
MODULE_DESCRIPTION("Fourth Extended Filesystem"); MODULE_DESCRIPTION("Fourth Extended Filesystem");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_SOFTDEP("pre: crc32c"); MODULE_SOFTDEP("pre: crc32c");
module_init(ext4_init_fs) module_init(ext4_init_fs)
module_exit(ext4_exit_fs) module_exit(ext4_exit_fs)

View File

@@ -4415,5 +4415,6 @@ module_exit(exit_f2fs_fs)
MODULE_AUTHOR("Samsung Electronics's Praesto Team"); MODULE_AUTHOR("Samsung Electronics's Praesto Team");
MODULE_DESCRIPTION("Flash Friendly File System"); MODULE_DESCRIPTION("Flash Friendly File System");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_SOFTDEP("pre: crc32"); MODULE_SOFTDEP("pre: crc32");

View File

@@ -1979,3 +1979,4 @@ module_init(init_fat_fs)
module_exit(exit_fat_fs) module_exit(exit_fat_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -680,6 +680,7 @@ static void __exit exit_msdos_fs(void)
} }
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_AUTHOR("Werner Almesberger"); MODULE_AUTHOR("Werner Almesberger");
MODULE_DESCRIPTION("MS-DOS filesystem support"); MODULE_DESCRIPTION("MS-DOS filesystem support");

View File

@@ -1077,6 +1077,7 @@ static void __exit exit_vfat_fs(void)
} }
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_DESCRIPTION("VFAT filesystem support"); MODULE_DESCRIPTION("VFAT filesystem support");
MODULE_AUTHOR("Gordon Chaffee"); MODULE_AUTHOR("Gordon Chaffee");

View File

@@ -52,6 +52,7 @@
MODULE_AUTHOR("Christoph Hellwig, Krzysztof Blaszkowski"); MODULE_AUTHOR("Christoph Hellwig, Krzysztof Blaszkowski");
MODULE_DESCRIPTION("Veritas Filesystem (VxFS) driver"); MODULE_DESCRIPTION("Veritas Filesystem (VxFS) driver");
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
static struct kmem_cache *vxfs_inode_cachep; static struct kmem_cache *vxfs_inode_cachep;

View File

@@ -2338,7 +2338,7 @@ void __mark_inode_dirty(struct inode *inode, int flags)
out_unlock_inode: out_unlock_inode:
spin_unlock(&inode->i_lock); spin_unlock(&inode->i_lock);
} }
EXPORT_SYMBOL(__mark_inode_dirty); EXPORT_SYMBOL_NS(__mark_inode_dirty, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* The @s_sync_lock is used to serialise concurrent sync operations * The @s_sync_lock is used to serialise concurrent sync operations
@@ -2504,7 +2504,7 @@ void try_to_writeback_inodes_sb(struct super_block *sb, enum wb_reason reason)
__writeback_inodes_sb_nr(sb, get_nr_dirty_pages(), reason, true); __writeback_inodes_sb_nr(sb, get_nr_dirty_pages(), reason, true);
up_read(&sb->s_umount); up_read(&sb->s_umount);
} }
EXPORT_SYMBOL(try_to_writeback_inodes_sb); EXPORT_SYMBOL_NS(try_to_writeback_inodes_sb, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* sync_inodes_sb - sync sb inode pages * sync_inodes_sb - sync sb inode pages
@@ -2571,7 +2571,7 @@ int write_inode_now(struct inode *inode, int sync)
might_sleep(); might_sleep();
return writeback_single_inode(inode, &wbc); return writeback_single_inode(inode, &wbc);
} }
EXPORT_SYMBOL(write_inode_now); EXPORT_SYMBOL_NS(write_inode_now, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* sync_inode - write an inode and its pages to disk. * sync_inode - write an inode and its pages to disk.
@@ -2608,4 +2608,4 @@ int sync_inode_metadata(struct inode *inode, int wait)
return sync_inode(inode, &wbc); return sync_inode(inode, &wbc);
} }
EXPORT_SYMBOL(sync_inode_metadata); EXPORT_SYMBOL_NS(sync_inode_metadata, ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -27,6 +27,7 @@
MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>");
MODULE_DESCRIPTION("Filesystem in Userspace"); MODULE_DESCRIPTION("Filesystem in Userspace");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
static struct kmem_cache *fuse_inode_cachep; static struct kmem_cache *fuse_inode_cachep;
struct list_head fuse_conn_list; struct list_head fuse_conn_list;

View File

@@ -260,6 +260,7 @@ static void __exit exit_gfs2_fs(void)
MODULE_DESCRIPTION("Global File System"); MODULE_DESCRIPTION("Global File System");
MODULE_AUTHOR("Red Hat, Inc."); MODULE_AUTHOR("Red Hat, Inc.");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(init_gfs2_fs); module_init(init_gfs2_fs);
module_exit(exit_gfs2_fs); module_exit(exit_gfs2_fs);

View File

@@ -29,6 +29,7 @@
static struct kmem_cache *hfs_inode_cachep; static struct kmem_cache *hfs_inode_cachep;
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
static int hfs_sync_fs(struct super_block *sb, int wait) static int hfs_sync_fs(struct super_block *sb, int wait)
{ {

View File

@@ -617,6 +617,7 @@ out:
MODULE_AUTHOR("Brad Boyer"); MODULE_AUTHOR("Brad Boyer");
MODULE_DESCRIPTION("Extended Macintosh Filesystem"); MODULE_DESCRIPTION("Extended Macintosh Filesystem");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
static struct kmem_cache *hfsplus_inode_cachep; static struct kmem_cache *hfsplus_inode_cachep;

View File

@@ -791,3 +791,4 @@ static void __exit exit_hpfs_fs(void)
module_init(init_hpfs_fs) module_init(init_hpfs_fs)
module_exit(exit_hpfs_fs) module_exit(exit_hpfs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -44,5 +44,6 @@ module_init(init_incfs_module);
module_exit(cleanup_incfs_module); module_exit(cleanup_incfs_module);
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_AUTHOR("Eugene Zemtsov <ezemtsov@google.com>"); MODULE_AUTHOR("Eugene Zemtsov <ezemtsov@google.com>");
MODULE_DESCRIPTION("Incremental File System"); MODULE_DESCRIPTION("Incremental File System");

View File

@@ -307,7 +307,7 @@ void drop_nlink(struct inode *inode)
if (!inode->i_nlink) if (!inode->i_nlink)
atomic_long_inc(&inode->i_sb->s_remove_count); atomic_long_inc(&inode->i_sb->s_remove_count);
} }
EXPORT_SYMBOL(drop_nlink); EXPORT_SYMBOL_NS(drop_nlink, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* clear_nlink - directly zero an inode's link count * clear_nlink - directly zero an inode's link count
@@ -346,7 +346,7 @@ void set_nlink(struct inode *inode, unsigned int nlink)
inode->__i_nlink = nlink; inode->__i_nlink = nlink;
} }
} }
EXPORT_SYMBOL(set_nlink); EXPORT_SYMBOL_NS(set_nlink, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* inc_nlink - directly increment an inode's link count * inc_nlink - directly increment an inode's link count
@@ -399,7 +399,7 @@ void inode_init_once(struct inode *inode)
__address_space_init_once(&inode->i_data); __address_space_init_once(&inode->i_data);
i_size_ordered_init(inode); i_size_ordered_init(inode);
} }
EXPORT_SYMBOL(inode_init_once); EXPORT_SYMBOL_NS(inode_init_once, ANDROID_GKI_VFS_EXPORT_ONLY);
static void init_once(void *foo) static void init_once(void *foo)
{ {
@@ -423,7 +423,7 @@ void ihold(struct inode *inode)
{ {
WARN_ON(atomic_inc_return(&inode->i_count) < 2); WARN_ON(atomic_inc_return(&inode->i_count) < 2);
} }
EXPORT_SYMBOL(ihold); EXPORT_SYMBOL_NS(ihold, ANDROID_GKI_VFS_EXPORT_ONLY);
static void inode_lru_list_add(struct inode *inode) static void inode_lru_list_add(struct inode *inode)
{ {
@@ -503,7 +503,7 @@ void __insert_inode_hash(struct inode *inode, unsigned long hashval)
spin_unlock(&inode->i_lock); spin_unlock(&inode->i_lock);
spin_unlock(&inode_hash_lock); spin_unlock(&inode_hash_lock);
} }
EXPORT_SYMBOL(__insert_inode_hash); EXPORT_SYMBOL_NS(__insert_inode_hash, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* __remove_inode_hash - remove an inode from the hash * __remove_inode_hash - remove an inode from the hash
@@ -519,7 +519,7 @@ void __remove_inode_hash(struct inode *inode)
spin_unlock(&inode->i_lock); spin_unlock(&inode->i_lock);
spin_unlock(&inode_hash_lock); spin_unlock(&inode_hash_lock);
} }
EXPORT_SYMBOL(__remove_inode_hash); EXPORT_SYMBOL_NS(__remove_inode_hash, ANDROID_GKI_VFS_EXPORT_ONLY);
void clear_inode(struct inode *inode) void clear_inode(struct inode *inode)
{ {
@@ -539,7 +539,7 @@ void clear_inode(struct inode *inode)
/* don't need i_lock here, no concurrent mods to i_state */ /* don't need i_lock here, no concurrent mods to i_state */
inode->i_state = I_FREEING | I_CLEAR; inode->i_state = I_FREEING | I_CLEAR;
} }
EXPORT_SYMBOL(clear_inode); EXPORT_SYMBOL_NS(clear_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Free the inode passed in, removing it from the lists it is still connected * Free the inode passed in, removing it from the lists it is still connected
@@ -1001,7 +1001,7 @@ void unlock_new_inode(struct inode *inode)
wake_up_bit(&inode->i_state, __I_NEW); wake_up_bit(&inode->i_state, __I_NEW);
spin_unlock(&inode->i_lock); spin_unlock(&inode->i_lock);
} }
EXPORT_SYMBOL(unlock_new_inode); EXPORT_SYMBOL_NS(unlock_new_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
void discard_new_inode(struct inode *inode) void discard_new_inode(struct inode *inode)
{ {
@@ -1158,7 +1158,7 @@ struct inode *iget5_locked(struct super_block *sb, unsigned long hashval,
} }
return inode; return inode;
} }
EXPORT_SYMBOL(iget5_locked); EXPORT_SYMBOL_NS(iget5_locked, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* iget_locked - obtain an inode from a mounted file system * iget_locked - obtain an inode from a mounted file system
@@ -1290,7 +1290,7 @@ ino_t iunique(struct super_block *sb, ino_t max_reserved)
return res; return res;
} }
EXPORT_SYMBOL(iunique); EXPORT_SYMBOL_NS(iunique, ANDROID_GKI_VFS_EXPORT_ONLY);
struct inode *igrab(struct inode *inode) struct inode *igrab(struct inode *inode)
{ {
@@ -1373,7 +1373,7 @@ again:
} }
return inode; return inode;
} }
EXPORT_SYMBOL(ilookup5); EXPORT_SYMBOL_NS(ilookup5, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* ilookup - search for an inode in the inode cache * ilookup - search for an inode in the inode cache
@@ -1852,7 +1852,7 @@ void touch_atime(const struct path *path)
skip_update: skip_update:
sb_end_write(inode->i_sb); sb_end_write(inode->i_sb);
} }
EXPORT_SYMBOL(touch_atime); EXPORT_SYMBOL_NS(touch_atime, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* The logic we want is * The logic we want is
@@ -1948,7 +1948,7 @@ int file_remove_privs(struct file *file)
return error; return error;
} }
EXPORT_SYMBOL(file_remove_privs); EXPORT_SYMBOL_NS(file_remove_privs, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* file_update_time - update mtime and ctime time * file_update_time - update mtime and ctime time
@@ -2129,7 +2129,7 @@ void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev)
" inode %s:%lu\n", mode, inode->i_sb->s_id, " inode %s:%lu\n", mode, inode->i_sb->s_id,
inode->i_ino); inode->i_ino);
} }
EXPORT_SYMBOL(init_special_inode); EXPORT_SYMBOL_NS(init_special_inode, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* inode_init_owner - Init uid,gid,mode for new inode according to posix standards * inode_init_owner - Init uid,gid,mode for new inode according to posix standards
@@ -2155,7 +2155,7 @@ void inode_init_owner(struct inode *inode, const struct inode *dir,
inode->i_gid = current_fsgid(); inode->i_gid = current_fsgid();
inode->i_mode = mode; inode->i_mode = mode;
} }
EXPORT_SYMBOL(inode_init_owner); EXPORT_SYMBOL_NS(inode_init_owner, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* inode_owner_or_capable - check current task permissions to inode * inode_owner_or_capable - check current task permissions to inode
@@ -2209,7 +2209,7 @@ void inode_dio_wait(struct inode *inode)
if (atomic_read(&inode->i_dio_count)) if (atomic_read(&inode->i_dio_count))
__inode_dio_wait(inode); __inode_dio_wait(inode);
} }
EXPORT_SYMBOL(inode_dio_wait); EXPORT_SYMBOL_NS(inode_dio_wait, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* inode_set_flags - atomically set some inode flags * inode_set_flags - atomically set some inode flags
@@ -2233,7 +2233,7 @@ void inode_set_flags(struct inode *inode, unsigned int flags,
WARN_ON_ONCE(flags & ~mask); WARN_ON_ONCE(flags & ~mask);
set_mask_bits(&inode->i_flags, mask, flags); set_mask_bits(&inode->i_flags, mask, flags);
} }
EXPORT_SYMBOL(inode_set_flags); EXPORT_SYMBOL_NS(inode_set_flags, ANDROID_GKI_VFS_EXPORT_ONLY);
void inode_nohighmem(struct inode *inode) void inode_nohighmem(struct inode *inode)
{ {
@@ -2270,7 +2270,7 @@ struct timespec64 timestamp_truncate(struct timespec64 t, struct inode *inode)
WARN(1, "invalid file time granularity: %u", gran); WARN(1, "invalid file time granularity: %u", gran);
return t; return t;
} }
EXPORT_SYMBOL(timestamp_truncate); EXPORT_SYMBOL_NS(timestamp_truncate, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* current_time - Return FS time * current_time - Return FS time

View File

@@ -146,7 +146,7 @@ int fiemap_fill_next_extent(struct fiemap_extent_info *fieinfo, u64 logical,
return 1; return 1;
return (flags & FIEMAP_EXTENT_LAST) ? 1 : 0; return (flags & FIEMAP_EXTENT_LAST) ? 1 : 0;
} }
EXPORT_SYMBOL(fiemap_fill_next_extent); EXPORT_SYMBOL_NS(fiemap_fill_next_extent, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* fiemap_prep - check validity of requested flags for fiemap * fiemap_prep - check validity of requested flags for fiemap
@@ -191,7 +191,7 @@ int fiemap_prep(struct inode *inode, struct fiemap_extent_info *fieinfo,
ret = filemap_write_and_wait(inode->i_mapping); ret = filemap_write_and_wait(inode->i_mapping);
return ret; return ret;
} }
EXPORT_SYMBOL(fiemap_prep); EXPORT_SYMBOL_NS(fiemap_prep, ANDROID_GKI_VFS_EXPORT_ONLY);
static int ioctl_fiemap(struct file *filp, struct fiemap __user *ufiemap) static int ioctl_fiemap(struct file *filp, struct fiemap __user *ufiemap)
{ {

View File

@@ -1610,3 +1610,4 @@ static void __exit exit_iso9660_fs(void)
module_init(init_iso9660_fs) module_init(init_iso9660_fs)
module_exit(exit_iso9660_fs) module_exit(exit_iso9660_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -3012,6 +3012,7 @@ static void __exit journal_exit(void)
} }
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(journal_init); module_init(journal_init);
module_exit(journal_exit); module_exit(journal_exit);

View File

@@ -439,3 +439,4 @@ MODULE_DESCRIPTION("The Journalling Flash File System, v2");
MODULE_AUTHOR("Red Hat, Inc."); MODULE_AUTHOR("Red Hat, Inc.");
MODULE_LICENSE("GPL"); // Actually dual-licensed, but it doesn't matter for MODULE_LICENSE("GPL"); // Actually dual-licensed, but it doesn't matter for
// the sake of this tag. It's Free Software. // the sake of this tag. It's Free Software.
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -37,6 +37,7 @@
MODULE_DESCRIPTION("The Journaled Filesystem (JFS)"); MODULE_DESCRIPTION("The Journaled Filesystem (JFS)");
MODULE_AUTHOR("Steve Best/Dave Kleikamp/Barry Arndt, IBM"); MODULE_AUTHOR("Steve Best/Dave Kleikamp/Barry Arndt, IBM");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
static struct kmem_cache *jfs_inode_cachep; static struct kmem_cache *jfs_inode_cachep;

View File

@@ -225,7 +225,7 @@ ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t
{ {
return -EISDIR; return -EISDIR;
} }
EXPORT_SYMBOL(generic_read_dir); EXPORT_SYMBOL_NS(generic_read_dir, ANDROID_GKI_VFS_EXPORT_ONLY);
const struct file_operations simple_dir_operations = { const struct file_operations simple_dir_operations = {
.open = dcache_dir_open, .open = dcache_dir_open,

View File

@@ -719,4 +719,5 @@ static void __exit exit_minix_fs(void)
module_init(init_minix_fs) module_init(init_minix_fs)
module_exit(exit_minix_fs) module_exit(exit_minix_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -430,7 +430,7 @@ void mpage_readahead(struct readahead_control *rac, get_block_t get_block)
if (args.bio) if (args.bio)
mpage_bio_submit(REQ_OP_READ, REQ_RAHEAD, args.bio); mpage_bio_submit(REQ_OP_READ, REQ_RAHEAD, args.bio);
} }
EXPORT_SYMBOL(mpage_readahead); EXPORT_SYMBOL_NS(mpage_readahead, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* This isn't called much at all * This isn't called much at all
@@ -448,7 +448,7 @@ int mpage_readpage(struct page *page, get_block_t get_block)
mpage_bio_submit(REQ_OP_READ, 0, args.bio); mpage_bio_submit(REQ_OP_READ, 0, args.bio);
return 0; return 0;
} }
EXPORT_SYMBOL(mpage_readpage); EXPORT_SYMBOL_NS(mpage_readpage, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Writing is not so simple. * Writing is not so simple.

View File

@@ -2533,7 +2533,7 @@ int kern_path(const char *name, unsigned int flags, struct path *path)
return filename_lookup(AT_FDCWD, getname_kernel(name), return filename_lookup(AT_FDCWD, getname_kernel(name),
flags, path, NULL); flags, path, NULL);
} }
EXPORT_SYMBOL(kern_path); EXPORT_SYMBOL_NS(kern_path, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* vfs_path_lookup - lookup a file path relative to a dentry-vfsmount pair * vfs_path_lookup - lookup a file path relative to a dentry-vfsmount pair
@@ -2887,7 +2887,7 @@ int vfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
fsnotify_create(dir, dentry); fsnotify_create(dir, dentry);
return error; return error;
} }
EXPORT_SYMBOL(vfs_create); EXPORT_SYMBOL_NS(vfs_create, ANDROID_GKI_VFS_EXPORT_ONLY);
int vfs_mkobj(struct dentry *dentry, umode_t mode, int vfs_mkobj(struct dentry *dentry, umode_t mode,
int (*f)(struct dentry *, umode_t, void *), int (*f)(struct dentry *, umode_t, void *),
@@ -3727,7 +3727,7 @@ int vfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
fsnotify_mkdir(dir, dentry); fsnotify_mkdir(dir, dentry);
return error; return error;
} }
EXPORT_SYMBOL(vfs_mkdir); EXPORT_SYMBOL_NS(vfs_mkdir, ANDROID_GKI_VFS_EXPORT_ONLY);
static long do_mkdirat(int dfd, const char __user *pathname, umode_t mode) static long do_mkdirat(int dfd, const char __user *pathname, umode_t mode)
{ {
@@ -3802,7 +3802,7 @@ out:
d_delete(dentry); d_delete(dentry);
return error; return error;
} }
EXPORT_SYMBOL(vfs_rmdir); EXPORT_SYMBOL_NS(vfs_rmdir, ANDROID_GKI_VFS_EXPORT_ONLY);
long do_rmdir(int dfd, struct filename *name) long do_rmdir(int dfd, struct filename *name)
{ {
@@ -3924,7 +3924,7 @@ out:
return error; return error;
} }
EXPORT_SYMBOL(vfs_unlink); EXPORT_SYMBOL_NS(vfs_unlink, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Make sure that the actual truncation of the file will occur outside its * Make sure that the actual truncation of the file will occur outside its
@@ -4159,7 +4159,7 @@ int vfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *new_de
fsnotify_link(dir, inode, new_dentry); fsnotify_link(dir, inode, new_dentry);
return error; return error;
} }
EXPORT_SYMBOL(vfs_link); EXPORT_SYMBOL_NS(vfs_link, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* Hardlinks are often used in delicate situations. We avoid * Hardlinks are often used in delicate situations. We avoid
@@ -4419,7 +4419,7 @@ out:
return error; return error;
} }
EXPORT_SYMBOL(vfs_rename); EXPORT_SYMBOL_NS(vfs_rename, ANDROID_GKI_VFS_EXPORT_ONLY);
static int do_renameat2(int olddfd, const char __user *oldname, int newdfd, static int do_renameat2(int olddfd, const char __user *oldname, int newdfd,
const char __user *newname, unsigned int flags) const char __user *newname, unsigned int flags)

View File

@@ -415,7 +415,7 @@ int mnt_want_write_file(struct file *file)
sb_end_write(file_inode(file)->i_sb); sb_end_write(file_inode(file)->i_sb);
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(mnt_want_write_file); EXPORT_SYMBOL_NS_GPL(mnt_want_write_file, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* __mnt_drop_write - give up write access to a mount * __mnt_drop_write - give up write access to a mount
@@ -457,7 +457,7 @@ void mnt_drop_write_file(struct file *file)
__mnt_drop_write_file(file); __mnt_drop_write_file(file);
sb_end_write(file_inode(file)->i_sb); sb_end_write(file_inode(file)->i_sb);
} }
EXPORT_SYMBOL(mnt_drop_write_file); EXPORT_SYMBOL_NS(mnt_drop_write_file, ANDROID_GKI_VFS_EXPORT_ONLY);
static int mnt_make_readonly(struct mount *mnt) static int mnt_make_readonly(struct mount *mnt)
{ {

View File

@@ -2326,6 +2326,7 @@ static void __exit exit_nfs_fs(void)
/* Not quite true; I just maintain it */ /* Not quite true; I just maintain it */
MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>"); MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_param(enable_ino64, bool, 0644); module_param(enable_ino64, bool, 0644);
module_init(init_nfs_fs) module_init(init_nfs_fs)

View File

@@ -309,6 +309,7 @@ static void __exit exit_nfs_v4(void)
} }
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(init_nfs_v4); module_init(init_nfs_v4);
module_exit(exit_nfs_v4); module_exit(exit_nfs_v4);

View File

@@ -1580,5 +1580,6 @@ static void __exit exit_nfsd(void)
MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>"); MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(init_nfsd) module_init(init_nfsd)
module_exit(exit_nfsd) module_exit(exit_nfsd)

View File

@@ -53,6 +53,7 @@ MODULE_AUTHOR("NTT Corp.");
MODULE_DESCRIPTION("A New Implementation of the Log-structured Filesystem " MODULE_DESCRIPTION("A New Implementation of the Log-structured Filesystem "
"(NILFS)"); "(NILFS)");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
static struct kmem_cache *nilfs_inode_cachep; static struct kmem_cache *nilfs_inode_cachep;
struct kmem_cache *nilfs_transaction_cachep; struct kmem_cache *nilfs_transaction_cachep;

View File

@@ -541,8 +541,8 @@ struct nls_table *load_nls_default(void)
} }
EXPORT_SYMBOL(unregister_nls); EXPORT_SYMBOL(unregister_nls);
EXPORT_SYMBOL(unload_nls); EXPORT_SYMBOL_NS(unload_nls, ANDROID_GKI_VFS_EXPORT_ONLY);
EXPORT_SYMBOL(load_nls); EXPORT_SYMBOL_NS(load_nls, ANDROID_GKI_VFS_EXPORT_ONLY);
EXPORT_SYMBOL(load_nls_default); EXPORT_SYMBOL_NS(load_nls_default, ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");

View File

@@ -578,3 +578,4 @@ module_init(init_nls_euc_jp)
module_exit(exit_nls_euc_jp) module_exit(exit_nls_euc_jp)
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -80,3 +80,4 @@ module_init(init_nls_koi8_ru)
module_exit(exit_nls_koi8_ru) module_exit(exit_nls_koi8_ru)
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -3186,6 +3186,7 @@ MODULE_AUTHOR("Anton Altaparmakov <anton@tuxera.com>");
MODULE_DESCRIPTION("NTFS 1.2/3.x driver - Copyright (c) 2001-2014 Anton Altaparmakov and Tuxera Inc."); MODULE_DESCRIPTION("NTFS 1.2/3.x driver - Copyright (c) 2001-2014 Anton Altaparmakov and Tuxera Inc.");
MODULE_VERSION(NTFS_VERSION); MODULE_VERSION(NTFS_VERSION);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
#ifdef DEBUG #ifdef DEBUG
module_param(debug_msgs, bint, 0); module_param(debug_msgs, bint, 0);
MODULE_PARM_DESC(debug_msgs, "Enable debug messages."); MODULE_PARM_DESC(debug_msgs, "Enable debug messages.");

View File

@@ -615,6 +615,7 @@ static void __exit exit_dlmfs_fs(void)
MODULE_AUTHOR("Oracle"); MODULE_AUTHOR("Oracle");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_DESCRIPTION("OCFS2 DLM-Filesystem"); MODULE_DESCRIPTION("OCFS2 DLM-Filesystem");
module_init(init_dlmfs_fs) module_init(init_dlmfs_fs)

View File

@@ -71,6 +71,7 @@ static struct dentry *ocfs2_debugfs_root;
MODULE_AUTHOR("Oracle"); MODULE_AUTHOR("Oracle");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_DESCRIPTION("OCFS2 cluster file system"); MODULE_DESCRIPTION("OCFS2 cluster file system");
struct mount_options struct mount_options

View File

@@ -20,6 +20,7 @@
MODULE_AUTHOR("Bob Copeland <me@bobcopeland.com>"); MODULE_AUTHOR("Bob Copeland <me@bobcopeland.com>");
MODULE_DESCRIPTION("OMFS (ReplayTV/Karma) Filesystem for Linux"); MODULE_DESCRIPTION("OMFS (ReplayTV/Karma) Filesystem for Linux");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
struct buffer_head *omfs_bread(struct super_block *sb, sector_t block) struct buffer_head *omfs_bread(struct super_block *sb, sector_t block)
{ {

View File

@@ -1158,7 +1158,7 @@ struct file *filp_open(const char *filename, int flags, umode_t mode)
} }
return file; return file;
} }
EXPORT_SYMBOL(filp_open); EXPORT_SYMBOL_NS(filp_open, ANDROID_GKI_VFS_EXPORT_ONLY);
/* ANDROID: Allow drivers to open only block files from kernel mode */ /* ANDROID: Allow drivers to open only block files from kernel mode */
struct file *filp_open_block(const char *filename, int flags, umode_t mode) struct file *filp_open_block(const char *filename, int flags, umode_t mode)
@@ -1390,7 +1390,7 @@ int generic_file_open(struct inode * inode, struct file * filp)
return 0; return 0;
} }
EXPORT_SYMBOL(generic_file_open); EXPORT_SYMBOL_NS(generic_file_open, ANDROID_GKI_VFS_EXPORT_ONLY);
/* /*
* This is used by subsystems that don't want seekable * This is used by subsystems that don't want seekable

View File

@@ -36,6 +36,7 @@ int orangefs_dcache_timeout_msecs = 50;
int orangefs_getattr_timeout_msecs = 50; int orangefs_getattr_timeout_msecs = 50;
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_AUTHOR("ORANGEFS Development Team"); MODULE_AUTHOR("ORANGEFS Development Team");
MODULE_DESCRIPTION("The Linux Kernel VFS interface to ORANGEFS"); MODULE_DESCRIPTION("The Linux Kernel VFS interface to ORANGEFS");
MODULE_PARM_DESC(module_parm_debug_mask, "debugging level (see orangefs-debug.h for values)"); MODULE_PARM_DESC(module_parm_debug_mask, "debugging level (see orangefs-debug.h for values)");

View File

@@ -20,6 +20,7 @@
MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>"); MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>");
MODULE_DESCRIPTION("Overlay filesystem"); MODULE_DESCRIPTION("Overlay filesystem");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
struct ovl_dir_cache; struct ovl_dir_cache;

View File

@@ -420,4 +420,5 @@ static void __exit exit_qnx4_fs(void)
module_init(init_qnx4_fs) module_init(init_qnx4_fs)
module_exit(exit_qnx4_fs) module_exit(exit_qnx4_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -679,3 +679,4 @@ static void __exit exit_qnx6_fs(void)
module_init(init_qnx6_fs) module_init(init_qnx6_fs)
module_exit(exit_qnx6_fs) module_exit(exit_qnx6_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -471,7 +471,7 @@ ssize_t kernel_read(struct file *file, void *buf, size_t count, loff_t *pos)
return ret; return ret;
return __kernel_read(file, buf, count, pos); return __kernel_read(file, buf, count, pos);
} }
EXPORT_SYMBOL(kernel_read); EXPORT_SYMBOL_NS(kernel_read, ANDROID_GKI_VFS_EXPORT_ONLY);
ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos) ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
{ {
@@ -580,7 +580,7 @@ ssize_t kernel_write(struct file *file, const void *buf, size_t count,
file_end_write(file); file_end_write(file);
return ret; return ret;
} }
EXPORT_SYMBOL(kernel_write); EXPORT_SYMBOL_NS(kernel_write, ANDROID_GKI_VFS_EXPORT_ONLY);
ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_t *pos) ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_t *pos)
{ {

View File

@@ -2655,6 +2655,7 @@ MODULE_ALIAS_FS("reiserfs");
MODULE_DESCRIPTION("ReiserFS journaled filesystem"); MODULE_DESCRIPTION("ReiserFS journaled filesystem");
MODULE_AUTHOR("Hans Reiser <reiser@namesys.com>"); MODULE_AUTHOR("Hans Reiser <reiser@namesys.com>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(init_reiserfs_fs); module_init(init_reiserfs_fs);
module_exit(exit_reiserfs_fs); module_exit(exit_reiserfs_fs);

View File

@@ -666,3 +666,4 @@ module_exit(exit_romfs_fs);
MODULE_DESCRIPTION("Direct-MTD Capable RomFS"); MODULE_DESCRIPTION("Direct-MTD Capable RomFS");
MODULE_AUTHOR("Red Hat, Inc."); MODULE_AUTHOR("Red Hat, Inc.");
MODULE_LICENSE("GPL"); /* Actually dual-licensed, but it doesn't matter for */ MODULE_LICENSE("GPL"); /* Actually dual-licensed, but it doesn't matter for */
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -326,7 +326,7 @@ ssize_t generic_file_splice_read(struct file *in, loff_t *ppos,
return ret; return ret;
} }
EXPORT_SYMBOL(generic_file_splice_read); EXPORT_SYMBOL_NS(generic_file_splice_read, ANDROID_GKI_VFS_EXPORT_ONLY);
const struct pipe_buf_operations default_pipe_buf_ops = { const struct pipe_buf_operations default_pipe_buf_ops = {
.release = generic_pipe_buf_release, .release = generic_pipe_buf_release,
@@ -722,7 +722,7 @@ done:
return ret; return ret;
} }
EXPORT_SYMBOL(iter_file_splice_write); EXPORT_SYMBOL_NS(iter_file_splice_write, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* generic_splice_sendpage - splice data from a pipe to a socket * generic_splice_sendpage - splice data from a pipe to a socket

View File

@@ -498,3 +498,4 @@ module_exit(exit_squashfs_fs);
MODULE_DESCRIPTION("squashfs 4.0, a compressed read-only filesystem"); MODULE_DESCRIPTION("squashfs 4.0, a compressed read-only filesystem");
MODULE_AUTHOR("Phillip Lougher <phillip@squashfs.org.uk>"); MODULE_AUTHOR("Phillip Lougher <phillip@squashfs.org.uk>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -49,7 +49,7 @@ void generic_fillattr(struct inode *inode, struct kstat *stat)
stat->blksize = i_blocksize(inode); stat->blksize = i_blocksize(inode);
stat->blocks = inode->i_blocks; stat->blocks = inode->i_blocks;
} }
EXPORT_SYMBOL(generic_fillattr); EXPORT_SYMBOL_NS(generic_fillattr, ANDROID_GKI_VFS_EXPORT_ONLY);
/** /**
* vfs_getattr_nosec - getattr without security checks * vfs_getattr_nosec - getattr without security checks

View File

@@ -1435,7 +1435,7 @@ error_bdev:
error: error:
return ERR_PTR(error); return ERR_PTR(error);
} }
EXPORT_SYMBOL(mount_bdev); EXPORT_SYMBOL_NS(mount_bdev, ANDROID_GKI_VFS_EXPORT_ONLY);
void kill_block_super(struct super_block *sb) void kill_block_super(struct super_block *sb)
{ {
@@ -1449,7 +1449,7 @@ void kill_block_super(struct super_block *sb)
blkdev_put(bdev, mode | FMODE_EXCL); blkdev_put(bdev, mode | FMODE_EXCL);
} }
EXPORT_SYMBOL(kill_block_super); EXPORT_SYMBOL_NS(kill_block_super, ANDROID_GKI_VFS_EXPORT_ONLY);
#endif #endif
struct dentry *mount_nodev(struct file_system_type *fs_type, struct dentry *mount_nodev(struct file_system_type *fs_type,

View File

@@ -66,7 +66,7 @@ int sync_filesystem(struct super_block *sb)
return ret; return ret;
return __sync_filesystem(sb, 1); return __sync_filesystem(sb, 1);
} }
EXPORT_SYMBOL(sync_filesystem); EXPORT_SYMBOL_NS(sync_filesystem, ANDROID_GKI_VFS_EXPORT_ONLY);
static void sync_inodes_one_sb(struct super_block *sb, void *arg) static void sync_inodes_one_sb(struct super_block *sb, void *arg)
{ {

View File

@@ -592,3 +592,4 @@ static void __exit exit_sysv_fs(void)
module_init(init_sysv_fs) module_init(init_sysv_fs)
module_exit(exit_sysv_fs) module_exit(exit_sysv_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -2476,6 +2476,7 @@ static void __exit ubifs_exit(void)
module_exit(ubifs_exit); module_exit(ubifs_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_VERSION(__stringify(UBIFS_VERSION)); MODULE_VERSION(__stringify(UBIFS_VERSION));
MODULE_AUTHOR("Artem Bityutskiy, Adrian Hunter"); MODULE_AUTHOR("Artem Bityutskiy, Adrian Hunter");
MODULE_DESCRIPTION("UBIFS - UBI File System"); MODULE_DESCRIPTION("UBIFS - UBI File System");

View File

@@ -2543,5 +2543,6 @@ static unsigned int udf_count_free(struct super_block *sb)
MODULE_AUTHOR("Ben Fennema"); MODULE_AUTHOR("Ben Fennema");
MODULE_DESCRIPTION("Universal Disk Format Filesystem"); MODULE_DESCRIPTION("Universal Disk Format Filesystem");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(init_udf_fs) module_init(init_udf_fs)
module_exit(exit_udf_fs) module_exit(exit_udf_fs)

View File

@@ -1542,3 +1542,4 @@ static void __exit exit_ufs_fs(void)
module_init(init_ufs_fs) module_init(init_ufs_fs)
module_exit(exit_ufs_fs) module_exit(exit_ufs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -490,4 +490,5 @@ module_exit(vboxsf_fini);
MODULE_DESCRIPTION("Oracle VM VirtualBox Module for Host File System Access"); MODULE_DESCRIPTION("Oracle VM VirtualBox Module for Host File System Access");
MODULE_AUTHOR("Oracle Corporation"); MODULE_AUTHOR("Oracle Corporation");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
MODULE_ALIAS_FS("vboxsf"); MODULE_ALIAS_FS("vboxsf");

View File

@@ -291,7 +291,7 @@ retry_deleg:
} }
return error; return error;
} }
EXPORT_SYMBOL_GPL(vfs_setxattr); EXPORT_SYMBOL_NS_GPL(vfs_setxattr, ANDROID_GKI_VFS_EXPORT_ONLY);
static ssize_t static ssize_t
xattr_getsecurity(struct inode *inode, const char *name, void *value, xattr_getsecurity(struct inode *inode, const char *name, void *value,
@@ -405,7 +405,7 @@ vfs_getxattr(struct dentry *dentry, const char *name, void *value, size_t size)
{ {
return __vfs_getxattr(dentry, dentry->d_inode, name, value, size, 0); return __vfs_getxattr(dentry, dentry->d_inode, name, value, size, 0);
} }
EXPORT_SYMBOL_GPL(vfs_getxattr); EXPORT_SYMBOL_NS_GPL(vfs_getxattr, ANDROID_GKI_VFS_EXPORT_ONLY);
ssize_t ssize_t
vfs_listxattr(struct dentry *dentry, char *list, size_t size) vfs_listxattr(struct dentry *dentry, char *list, size_t size)
@@ -425,7 +425,7 @@ vfs_listxattr(struct dentry *dentry, char *list, size_t size)
} }
return error; return error;
} }
EXPORT_SYMBOL_GPL(vfs_listxattr); EXPORT_SYMBOL_NS_GPL(vfs_listxattr, ANDROID_GKI_VFS_EXPORT_ONLY);
int int
__vfs_removexattr(struct dentry *dentry, const char *name) __vfs_removexattr(struct dentry *dentry, const char *name)

View File

@@ -2224,3 +2224,4 @@ module_exit(exit_xfs_fs);
MODULE_AUTHOR("Silicon Graphics, Inc."); MODULE_AUTHOR("Silicon Graphics, Inc.");
MODULE_DESCRIPTION(XFS_VERSION_STRING " with " XFS_BUILD_OPTIONS " enabled"); MODULE_DESCRIPTION(XFS_VERSION_STRING " with " XFS_BUILD_OPTIONS " enabled");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);

View File

@@ -1799,5 +1799,6 @@ static void __exit zonefs_exit(void)
MODULE_AUTHOR("Damien Le Moal"); MODULE_AUTHOR("Damien Le Moal");
MODULE_DESCRIPTION("Zone file system for zoned block devices"); MODULE_DESCRIPTION("Zone file system for zoned block devices");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(ANDROID_GKI_VFS_EXPORT_ONLY);
module_init(zonefs_init); module_init(zonefs_init);
module_exit(zonefs_exit); module_exit(zonefs_exit);

View File

@@ -595,5 +595,6 @@ static int __init test_lockup_init(void)
module_init(test_lockup_init); module_init(test_lockup_init);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
MODULE_AUTHOR("Konstantin Khlebnikov <khlebnikov@yandex-team.ru>"); MODULE_AUTHOR("Konstantin Khlebnikov <khlebnikov@yandex-team.ru>");
MODULE_DESCRIPTION("Test module to generate lockups"); MODULE_DESCRIPTION("Test module to generate lockups");

View File

@@ -189,4 +189,5 @@ MODULE_AUTHOR("Latchesar Ionkov <lucho@ionkov.net>");
MODULE_AUTHOR("Eric Van Hensbergen <ericvh@gmail.com>"); MODULE_AUTHOR("Eric Van Hensbergen <ericvh@gmail.com>");
MODULE_AUTHOR("Ron Minnich <rminnich@lanl.gov>"); MODULE_AUTHOR("Ron Minnich <rminnich@lanl.gov>");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
MODULE_DESCRIPTION("Plan 9 Resource Sharing Support (9P2000)"); MODULE_DESCRIPTION("Plan 9 Resource Sharing Support (9P2000)");

View File

@@ -134,3 +134,4 @@ static void __exit fini_umh(void)
module_init(load_umh); module_init(load_umh);
module_exit(fini_umh); module_exit(fini_umh);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);

View File

@@ -139,5 +139,6 @@ cleanup_sunrpc(void)
rcu_barrier(); /* Wait for completion of call_rcu()'s */ rcu_barrier(); /* Wait for completion of call_rcu()'s */
} }
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
fs_initcall(init_sunrpc); /* Ensure we're initialised before nfs */ fs_initcall(init_sunrpc); /* Ensure we're initialised before nfs */
module_exit(cleanup_sunrpc); module_exit(cleanup_sunrpc);

View File

@@ -2986,4 +2986,5 @@ fs_initcall(af_unix_init);
module_exit(af_unix_exit); module_exit(af_unix_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver);
MODULE_ALIAS_NETPROTO(PF_UNIX); MODULE_ALIAS_NETPROTO(PF_UNIX);