diff --git a/arch/i386/mm/extable.c b/arch/i386/mm/extable.c index de03c54..68a2409 100644 --- a/arch/i386/mm/extable.c +++ b/arch/i386/mm/extable.c @@ -6,7 +6,7 @@ #include #include #include -int fixup_exception(struct pt_regs *regs) +int __global fixup_exception(struct pt_regs *regs) { const struct exception_table_entry *fixup; diff --git a/arch/i386/mm/fault.c b/arch/i386/mm/fault.c index f727946..f8f90b2 100644 --- a/arch/i386/mm/fault.c +++ b/arch/i386/mm/fault.c @@ -32,13 +32,13 @@ extern void die(const char *,struct pt_r #ifdef CONFIG_KPROBES ATOMIC_NOTIFIER_HEAD(notify_page_fault_chain); -int register_page_fault_notifier(struct notifier_block *nb) +int __global register_page_fault_notifier(struct notifier_block *nb) { vmalloc_sync_all(); return atomic_notifier_chain_register(¬ify_page_fault_chain, nb); } -int unregister_page_fault_notifier(struct notifier_block *nb) +int __global unregister_page_fault_notifier(struct notifier_block *nb) { return atomic_notifier_chain_unregister(¬ify_page_fault_chain, nb); } @@ -325,8 +325,8 @@ static inline int vmalloc_fault(unsigned * bit 3 == 1 means use of reserved bit detected * bit 4 == 1 means fault was an instruction fetch */ -fastcall void __kprobes do_page_fault(struct pt_regs *regs, - unsigned long error_code) +fastcall void __kprobes __global do_page_fault(struct pt_regs *regs, + unsigned long error_code) { struct task_struct *tsk; struct mm_struct *mm; @@ -626,7 +626,7 @@ do_sigbus: } #ifndef CONFIG_X86_PAE -void vmalloc_sync_all(void) +void __global vmalloc_sync_all(void) { /* * Note that races in the updates of insync and start aren't diff --git a/arch/i386/mm/hugetlbpage.c b/arch/i386/mm/hugetlbpage.c index 1719a81..2820b17 100644 --- a/arch/i386/mm/hugetlbpage.c +++ b/arch/i386/mm/hugetlbpage.c @@ -17,7 +17,7 @@ #include #include #include -pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr) +pte_t * __global huge_pte_alloc(struct mm_struct *mm, unsigned long addr) { pgd_t *pgd; pud_t *pud; @@ -32,7 +32,7 @@ pte_t *huge_pte_alloc(struct mm_struct * return pte; } -pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) +pte_t * __global huge_pte_offset(struct mm_struct *mm, unsigned long addr) { pgd_t *pgd; pud_t *pud; @@ -48,7 +48,7 @@ pte_t *huge_pte_offset(struct mm_struct } #if 0 /* This is just for testing */ -struct page * +struct page * __global follow_huge_addr(struct mm_struct *mm, unsigned long address, int write) { unsigned long start = address; @@ -87,18 +87,18 @@ follow_huge_pmd(struct mm_struct *mm, un #else -struct page * +struct page * __global follow_huge_addr(struct mm_struct *mm, unsigned long address, int write) { return ERR_PTR(-EINVAL); } -int pmd_huge(pmd_t pmd) +int __global pmd_huge(pmd_t pmd) { return !!(pmd_val(pmd) & _PAGE_PSE); } -struct page * +struct page * __global follow_huge_pmd(struct mm_struct *mm, unsigned long address, pmd_t *pmd, int write) { @@ -245,7 +245,7 @@ fail: return addr; } -unsigned long +unsigned long __global hugetlb_get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags) { diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c index 89e8486..89661e2 100644 --- a/arch/i386/mm/init.c +++ b/arch/i386/mm/init.c @@ -43,9 +43,9 @@ #include #include #include -unsigned int __VMALLOC_RESERVE = 128 << 20; +unsigned int __global __VMALLOC_RESERVE = 128 << 20; -DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); +__global DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); unsigned long highstart_pfn, highend_pfn; static int noinline do_test_wp_bit(void); @@ -329,7 +329,7 @@ #endif /* CONFIG_HIGHMEM */ unsigned long long __PAGE_KERNEL = _PAGE_KERNEL; EXPORT_SYMBOL(__PAGE_KERNEL); -unsigned long long __PAGE_KERNEL_EXEC = _PAGE_KERNEL_EXEC; +unsigned long long __global __PAGE_KERNEL_EXEC = _PAGE_KERNEL_EXEC; #ifdef CONFIG_NUMA extern void __init remap_numa_kva(void); @@ -390,7 +390,7 @@ #if defined(CONFIG_SOFTWARE_SUSPEND) || * Swap suspend & friends need this for resume because things like the intel-agp * driver might have split up a kernel 4MB mapping. */ -char __nosavedata swsusp_pg_dir[PAGE_SIZE] +char __nosavedata __global swsusp_pg_dir[PAGE_SIZE] __attribute__ ((aligned (PAGE_SIZE))); static inline void save_pg_dir(void) @@ -435,7 +435,7 @@ u64 __supported_pte_mask __read_mostly = * on Enable * off Disable */ -void __init noexec_setup(const char *str) +void __init __global noexec_setup(const char *str) { if (!strncmp(str, "on",2) && cpu_has_nx) { __supported_pte_mask |= _PAGE_NX; @@ -446,7 +446,7 @@ void __init noexec_setup(const char *str } } -int nx_enabled = 0; +int __global nx_enabled = 0; #ifdef CONFIG_X86_PAE static void __init set_nx(void) @@ -501,7 +501,7 @@ #endif * This routines also unmaps the page at virtual kernel address 0, so * that we can trap those pesky NULL-reference errors in the kernel. */ -void __init paging_init(void) +void __init __global paging_init(void) { #ifdef CONFIG_X86_PAE set_nx(); @@ -566,7 +566,7 @@ #endif static struct kcore_list kcore_mem, kcore_vmalloc; -void __init mem_init(void) +void __init __global mem_init(void) { extern int ppro_with_ram_bug(void); int codesize, reservedpages, datasize, initsize; @@ -674,7 +674,7 @@ #endif kmem_cache_t *pgd_cache; kmem_cache_t *pmd_cache; -void __init pgtable_cache_init(void) +void __init __global pgtable_cache_init(void) { if (PTRS_PER_PMD > 1) { pmd_cache = kmem_cache_create("pmd", @@ -725,7 +725,7 @@ static int noinline do_test_wp_bit(void) #ifdef CONFIG_DEBUG_RODATA -void mark_rodata_ro(void) +void __global mark_rodata_ro(void) { unsigned long addr = (unsigned long)__start_rodata; @@ -745,7 +745,7 @@ void mark_rodata_ro(void) } #endif -void free_init_pages(char *what, unsigned long begin, unsigned long end) +void __global free_init_pages(char *what, unsigned long begin, unsigned long end) { unsigned long addr; @@ -759,7 +759,7 @@ void free_init_pages(char *what, unsigne printk(KERN_INFO "Freeing %s: %ldk freed\n", what, (end - begin) >> 10); } -void free_initmem(void) +void __global free_initmem(void) { free_init_pages("unused kernel memory", (unsigned long)(&__init_begin), @@ -767,7 +767,7 @@ void free_initmem(void) } #ifdef CONFIG_BLK_DEV_INITRD -void free_initrd_mem(unsigned long start, unsigned long end) +void __global free_initrd_mem(unsigned long start, unsigned long end) { free_init_pages("initrd memory", start, end); } diff --git a/arch/i386/mm/ioremap.c b/arch/i386/mm/ioremap.c index 247fde7..5340869 100644 --- a/arch/i386/mm/ioremap.c +++ b/arch/i386/mm/ioremap.c @@ -280,7 +280,7 @@ void iounmap(volatile void __iomem *addr } EXPORT_SYMBOL(iounmap); -void __init *bt_ioremap(unsigned long phys_addr, unsigned long size) +void __init __global *bt_ioremap(unsigned long phys_addr, unsigned long size) { unsigned long offset, last_addr; unsigned int nrpages; @@ -324,7 +324,7 @@ void __init *bt_ioremap(unsigned long ph return (void*) (offset + fix_to_virt(FIX_BTMAP_BEGIN)); } -void __init bt_iounmap(void *addr, unsigned long size) +void __init __global bt_iounmap(void *addr, unsigned long size) { unsigned long virt_addr; unsigned long offset; diff --git a/arch/i386/mm/mmap.c b/arch/i386/mm/mmap.c index e4730a1..ec8f27e 100644 --- a/arch/i386/mm/mmap.c +++ b/arch/i386/mm/mmap.c @@ -56,7 +56,7 @@ static inline unsigned long mmap_base(st * This function, called very early during the creation of a new * process VM image, sets up which VM layout function to use: */ -void arch_pick_mmap_layout(struct mm_struct *mm) +void __global arch_pick_mmap_layout(struct mm_struct *mm) { /* * Fall back to the standard layout if the personality diff --git a/arch/i386/mm/pgtable.c b/arch/i386/mm/pgtable.c index bd98768..6161dd9 100644 --- a/arch/i386/mm/pgtable.c +++ b/arch/i386/mm/pgtable.c @@ -21,7 +21,7 @@ #include #include #include -void show_mem(void) +void __global show_mem(void) { int total = 0, reserved = 0; int shared = 0, cached = 0; @@ -137,7 +137,7 @@ void set_pmd_pfn(unsigned long vaddr, un __flush_tlb_one(vaddr); } -void __set_fixmap (enum fixed_addresses idx, unsigned long phys, pgprot_t flags) +void __global __set_fixmap (enum fixed_addresses idx, unsigned long phys, pgprot_t flags) { unsigned long address = __fix_to_virt(idx); @@ -148,12 +148,12 @@ void __set_fixmap (enum fixed_addresses set_pte_pfn(address, phys >> PAGE_SHIFT, flags); } -pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address) +pte_t * __global pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address) { return (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); } -struct page *pte_alloc_one(struct mm_struct *mm, unsigned long address) +struct page * __global pte_alloc_one(struct mm_struct *mm, unsigned long address) { struct page *pte; @@ -234,7 +234,7 @@ void pgd_dtor(void *pgd, kmem_cache_t *c spin_unlock_irqrestore(&pgd_lock, flags); } -pgd_t *pgd_alloc(struct mm_struct *mm) +pgd_t * __global pgd_alloc(struct mm_struct *mm) { int i; pgd_t *pgd = kmem_cache_alloc(pgd_cache, GFP_KERNEL); @@ -257,7 +257,7 @@ out_oom: return NULL; } -void pgd_free(pgd_t *pgd) +void __global pgd_free(pgd_t *pgd) { int i; diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index ebf961f..d6f5437 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c @@ -1056,7 +1056,7 @@ pmac_ide_get_irq(unsigned long base) static int ide_majors[] = { 3, 22, 33, 34, 56, 57 }; -dev_t __init +dev_t __init __global pmac_find_ide_boot(char *bootdevice, int n) { int i; diff --git a/drivers/md/md.c b/drivers/md/md.c index b6d1602..11cc13a 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -2887,7 +2887,7 @@ static struct kobj_type md_ktype = { .default_attrs = md_default_attrs, }; -int mdp_major = 0; +int __global mdp_major = 0; static struct kobject *md_probe(dev_t dev, int *part, void *data) { @@ -5578,13 +5578,12 @@ #ifndef MODULE static dev_t detected_devices[128]; static int dev_cnt; -void md_autodetect_dev(dev_t dev) +void __global md_autodetect_dev(dev_t dev) { if (dev_cnt >= 0 && dev_cnt < 127) detected_devices[dev_cnt++] = dev; } - static void autostart_arrays(int part) { mdk_rdev_t *rdev; diff --git a/drivers/video/fbcvt.c b/drivers/video/fbcvt.c index b549899..baac324 100644 --- a/drivers/video/fbcvt.c +++ b/drivers/video/fbcvt.c @@ -301,7 +301,7 @@ static void fb_cvt_convert_to_mode(struc * DESCRIPTION: * Computes video timings using VESA(TM) Coordinated Video Timings */ -int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb) +int __global fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb) { struct fb_cvt_data cvt; diff --git a/fs/aio.c b/fs/aio.c index 9506301..3290a73 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -42,8 +42,8 @@ #endif /*------ sysctl variables----*/ static DEFINE_SPINLOCK(aio_nr_lock); -unsigned long aio_nr; /* current system wide number of aio requests */ -unsigned long aio_max_nr = 0x10000; /* system wide maximum number of aio requests */ +unsigned long __global aio_nr; /* current system wide number of aio requests */ +unsigned long __global aio_max_nr = 0x10000; /* system wide maximum number of aio requests */ /*----end sysctl variables---*/ static kmem_cache_t *kiocb_cachep; @@ -332,7 +332,7 @@ ssize_t fastcall wait_on_sync_kiocb(stru * go away, they will call put_ioctx and release any pinned memory * associated with the request (held via struct page * references). */ -void fastcall exit_aio(struct mm_struct *mm) +void fastcall __global exit_aio(struct mm_struct *mm) { struct kioctx *ctx = mm->ioctx_list; mm->ioctx_list = NULL; diff --git a/fs/bio.c b/fs/bio.c index 6a0b9ad..049afc4 100644 --- a/fs/bio.c +++ b/fs/bio.c @@ -745,9 +746,9 @@ struct bio *bio_map_user(request_queue_t * Map the user space address into a bio suitable for io to a block * device. Returns an error pointer in case of error. */ -struct bio *bio_map_user_iov(request_queue_t *q, struct block_device *bdev, - struct sg_iovec *iov, int iov_count, - int write_to_vm) +struct bio * __global bio_map_user_iov(request_queue_t *q, struct block_device *bdev, + struct sg_iovec *iov, int iov_count, + int write_to_vm) { struct bio *bio; int len = 0, i; @@ -917,7 +918,7 @@ struct bio *bio_map_kern(request_queue_t /* * bio_set_pages_dirty() will mark all the bio's pages as dirty. */ -void bio_set_pages_dirty(struct bio *bio) +void __global bio_set_pages_dirty(struct bio *bio) { struct bio_vec *bvec = bio->bi_io_vec; int i; diff --git a/fs/block_dev.c b/fs/block_dev.c index 3753457..de38fb4 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -388,7 +388,7 @@ struct block_device *bdget(dev_t dev) EXPORT_SYMBOL(bdget); -long nr_blockdev_pages(void) +long __global nr_blockdev_pages(void) { struct list_head *p; long ret = 0; diff --git a/fs/buffer.c b/fs/buffer.c index 71649ef..4073846 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -284,7 +284,7 @@ asmlinkage long sys_sync(void) return 0; } -void emergency_sync(void) +void __global emergency_sync(void) { pdflush_operation(do_sync, 0); } @@ -318,7 +318,7 @@ int file_fsync(struct file *filp, struct return ret; } -long do_fsync(struct file *file, int datasync) +long __global do_fsync(struct file *file, int datasync) { int ret; int err; @@ -1630,7 +1630,7 @@ out: } EXPORT_SYMBOL(block_invalidatepage); -void do_invalidatepage(struct page *page, unsigned long offset) +void __global do_invalidatepage(struct page *page, unsigned long offset) { void (*invalidatepage)(struct page *, unsigned long); invalidatepage = page->mapping->a_ops->invalidatepage ? : @@ -3061,7 +3061,7 @@ static kmem_cache_t *bh_cachep; */ static int max_buffer_heads; -int buffer_heads_over_limit; +int __global buffer_heads_over_limit; struct bh_accounting { int nr; /* Number of live bh's */ @@ -3141,7 +3141,7 @@ static int buffer_cpu_notify(struct noti } #endif /* CONFIG_HOTPLUG_CPU */ -void __init buffer_init(void) +void __init __global buffer_init(void) { int nrpages; diff --git a/fs/char_dev.c b/fs/char_dev.c index 3483d3c..236a7d1 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -46,7 +46,7 @@ static inline int major_to_index(int maj #ifdef CONFIG_PROC_FS -void chrdev_show(struct seq_file *f, off_t offset) +void __global chrdev_show(struct seq_file *f, off_t offset) { struct char_device_struct *cd; diff --git a/fs/compat.c b/fs/compat.c index e31e9cf..b635d8f 100644 --- a/fs/compat.c +++ b/fs/compat.c @@ -55,7 +55,7 @@ #include extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat); -int compat_log = 1; +int __global compat_log = 1; int compat_printk(const char *fmt, ...) { @@ -1503,7 +1503,7 @@ #endif /* CONFIG_MMU */ * compat_do_execve() is mostly a copy of do_execve(), with the exception * that it processes 32 bit argv and envp pointers. */ -int compat_do_execve(char * filename, +int __global compat_do_execve(char * filename, compat_uptr_t __user *argv, compat_uptr_t __user *envp, struct pt_regs * regs) diff --git a/fs/dcache.c b/fs/dcache.c index 1b4a3a3..c9e20bb 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -63,7 +63,7 @@ static struct hlist_head *dentry_hashtab static LIST_HEAD(dentry_unused); /* Statistics gathering. */ -struct dentry_stat_t dentry_stat = { +struct dentry_stat_t __global dentry_stat = { .age_limit = 45, }; @@ -1120,7 +1120,7 @@ next: * * On hash failure or on lookup failure NULL is returned. */ -struct dentry *d_hash_and_lookup(struct dentry *dir, struct qstr *name) +struct dentry * __global d_hash_and_lookup(struct dentry *dir, struct qstr *name) { struct dentry *dentry = NULL; @@ -1745,13 +1745,13 @@ EXPORT_SYMBOL(d_genocide); extern void bdev_cache_init(void); extern void chrdev_init(void); -void __init vfs_caches_init_early(void) +void __init __global vfs_caches_init_early(void) { dcache_init_early(); inode_init_early(); } -void __init vfs_caches_init(unsigned long mempages) +void __init __global vfs_caches_init(unsigned long mempages) { unsigned long reserve; diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c index f7aef5b..3b9f019 100644 --- a/fs/devpts/inode.c +++ b/fs/devpts/inode.c @@ -156,7 +156,7 @@ static struct dentry *get_node(int num) return lookup_one_len(s, root, sprintf(s, "%d", num)); } -int devpts_pty_new(struct tty_struct *tty) +int __global devpts_pty_new(struct tty_struct *tty) { int number = tty->index; struct tty_driver *driver = tty->driver; @@ -188,7 +188,7 @@ int devpts_pty_new(struct tty_struct *tt return 0; } -struct tty_struct *devpts_get_tty(int number) +struct tty_struct * __global devpts_get_tty(int number) { struct dentry *dentry = get_node(number); struct tty_struct *tty; @@ -205,7 +205,7 @@ struct tty_struct *devpts_get_tty(int nu return tty; } -void devpts_pty_kill(int number) +void __global devpts_pty_kill(int number) { struct dentry *dentry = get_node(number); diff --git a/fs/dnotify.c b/fs/dnotify.c index f932591..c6c7ae3 100644 --- a/fs/dnotify.c +++ b/fs/dnotify.c @@ -21,7 +21,7 @@ #include #include #include -int dir_notify_enable __read_mostly = 1; +int dir_notify_enable __global __read_mostly = 1; static kmem_cache_t *dn_cache __read_mostly; diff --git a/fs/drop_caches.c b/fs/drop_caches.c index 4e47623..dfc591b 100644 --- a/fs/drop_caches.c +++ b/fs/drop_caches.c @@ -10,7 +10,7 @@ #include #include /* A global variable is a bit ugly, but it keeps the code simple */ -int sysctl_drop_caches; +int __global sysctl_drop_caches; static void drop_pagecache_sb(struct super_block *sb) { @@ -54,7 +54,7 @@ void drop_slab(void) } while (nr_objects > 10); } -int drop_caches_sysctl_handler(ctl_table *table, int write, +int __global drop_caches_sysctl_handler(ctl_table *table, int write, struct file *file, void __user *buffer, size_t *length, loff_t *ppos) { proc_dointvec_minmax(table, write, file, buffer, length, ppos); diff --git a/fs/exec.c b/fs/exec.c index 8344ba7..d14f122 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -57,8 +57,8 @@ #ifdef CONFIG_KMOD #include #endif -int core_uses_pid; -char core_pattern[65] = "core"; +int __global core_uses_pid; +char __global core_pattern[65] = "core"; int suid_dumpable = 0; EXPORT_SYMBOL(suid_dumpable); @@ -805,7 +805,7 @@ static void flush_old_files(struct files spin_unlock(&files->file_lock); } -void get_task_comm(char *buf, struct task_struct *tsk) +void __global get_task_comm(char *buf, struct task_struct *tsk) { /* buf must be at least sizeof(tsk->comm) in size */ task_lock(tsk); @@ -813,7 +813,7 @@ void get_task_comm(char *buf, struct tas task_unlock(tsk); } -void set_task_comm(struct task_struct *tsk, char *buf) +void __global set_task_comm(struct task_struct *tsk, char *buf) { task_lock(tsk); strlcpy(tsk->comm, buf, sizeof(tsk->comm)); @@ -1131,7 +1131,7 @@ EXPORT_SYMBOL(search_binary_handler); /* * sys_execve() executes a new program. */ -int do_execve(char * filename, +int __global do_execve(char * filename, char __user *__user *argv, char __user *__user *envp, struct pt_regs * regs) @@ -1465,7 +1465,7 @@ fail: return core_waiters; } -int do_coredump(long signr, int exit_code, struct pt_regs * regs) +int __global do_coredump(long signr, int exit_code, struct pt_regs * regs) { char corename[CORENAME_MAX_SIZE + 1]; struct mm_struct *mm = current->mm; diff --git a/fs/fcntl.c b/fs/fcntl.c index d35cbc6..5f1c0eb 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -23,7 +23,7 @@ #include #include #include -void fastcall set_close_on_exec(unsigned int fd, int flag) +void fastcall __global set_close_on_exec(unsigned int fd, int flag) { struct files_struct *files = current->files; struct fdtable *fdt; @@ -467,7 +467,7 @@ static void send_sigio_to_task(struct ta } } -void send_sigio(struct fown_struct *fown, int fd, int band) +void __global send_sigio(struct fown_struct *fown, int fd, int band) { struct task_struct *p; int pid; @@ -500,7 +500,7 @@ static void send_sigurg_to_task(struct t group_send_sig_info(SIGURG, SEND_SIG_PRIV, p); } -int send_sigurg(struct fown_struct *fown) +int __global send_sigurg(struct fown_struct *fown) { struct task_struct *p; int pid, ret = 0; diff --git a/fs/file.c b/fs/file.c index b3c6b82..af0fff5 100644 --- a/fs/file.c +++ b/fs/file.c @@ -50,7 +50,7 @@ struct file ** alloc_fd_array(int num) return new_fds; } -void free_fd_array(struct file **array, int num) +void __global free_fd_array(struct file **array, int num) { int size = num * sizeof(struct file *); @@ -154,7 +154,7 @@ static void free_fdtable_rcu(struct rcu_ } } -void free_fdtable(struct fdtable *fdt) +void __global free_fdtable(struct fdtable *fdt) { if (fdt->free_files || fdt->max_fdset > EMBEDDED_FD_SET_SIZE || @@ -219,7 +219,7 @@ fd_set * alloc_fdset(int num) return new_fdset; } -void free_fdset(fd_set *array, int num) +void __global free_fdset(fd_set *array, int num) { if (num <= EMBEDDED_FD_SET_SIZE) /* Don't free an embedded fdset */ return; @@ -336,7 +336,7 @@ out: * Return <0 on error; 0 nothing done; 1 files expanded, we may have blocked. * Should be called with the files->file_lock spinlock held for write. */ -int expand_files(struct files_struct *files, int nr) +int __global expand_files(struct files_struct *files, int nr) { int err, expand = 0; struct fdtable *fdt; diff --git a/fs/file_table.c b/fs/file_table.c index 0131ba0..3e795f3 100644 --- a/fs/file_table.c +++ b/fs/file_table.c @@ -25,12 +25,12 @@ #include #include /* sysctl tunables... */ -struct files_stat_struct files_stat = { +struct files_stat_struct __global files_stat = { .max_files = NR_FILE }; /* public. Not pretty! */ -__cacheline_aligned_in_smp DEFINE_SPINLOCK(files_lock); +__global __cacheline_aligned_in_smp DEFINE_SPINLOCK(files_lock); static struct percpu_counter nr_files __cacheline_aligned_in_smp; @@ -67,14 +67,14 @@ EXPORT_SYMBOL_GPL(get_max_files); * Handle nr_files sysctl */ #if defined(CONFIG_SYSCTL) && defined(CONFIG_PROC_FS) -int proc_nr_files(ctl_table *table, int write, struct file *filp, +int __global proc_nr_files(ctl_table *table, int write, struct file *filp, void __user *buffer, size_t *lenp, loff_t *ppos) { files_stat.nr_files = get_nr_files(); return proc_dointvec(table, write, filp, buffer, lenp, ppos); } #else -int proc_nr_files(ctl_table *table, int write, struct file *filp, +int __global proc_nr_files(ctl_table *table, int write, struct file *filp, void __user *buffer, size_t *lenp, loff_t *ppos) { return -ENOSYS; @@ -210,7 +210,7 @@ EXPORT_SYMBOL(fget); * and a flag is returned to be passed to the corresponding fput_light(). * There must not be a cloning between an fget_light/fput_light pair. */ -struct file fastcall *fget_light(unsigned int fd, int *fput_needed) +struct file fastcall * __global fget_light(unsigned int fd, int *fput_needed) { struct file *file; struct files_struct *files = current->files; @@ -235,7 +235,7 @@ struct file fastcall *fget_light(unsigne } -void put_filp(struct file *file) +void __global put_filp(struct file *file) { if (atomic_dec_and_test(&file->f_count)) { security_file_free(file); @@ -244,7 +244,7 @@ void put_filp(struct file *file) } } -void file_move(struct file *file, struct list_head *list) +void __global file_move(struct file *file, struct list_head *list) { if (!list) return; @@ -253,7 +253,7 @@ void file_move(struct file *file, struct file_list_unlock(); } -void file_kill(struct file *file) +void __global file_kill(struct file *file) { if (!list_empty(&file->f_u.fu_list)) { file_list_lock(); diff --git a/fs/filesystems.c b/fs/filesystems.c index 9f10728..2b338c6 100644 --- a/fs/filesystems.c +++ b/fs/filesystems.c @@ -198,7 +198,7 @@ asmlinkage long sys_sysfs(int option, un return retval; } -int get_filesystem_list(char * buf) +int __global get_filesystem_list(char * buf) { int len = 0; struct file_system_type * tmp; diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 892643d..c3a2e2b 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -409,7 +409,7 @@ sync_sb_inodes(struct super_block *sb, s * sync_sb_inodes will seekout the blockdev which matches `bdi'. Maybe not * super-efficient but we're about to do a ton of I/O... */ -void +void __global writeback_inodes(struct writeback_control *wbc) { struct super_block *sb; @@ -678,7 +678,7 @@ int writeback_acquire(struct backing_dev * * Determine whether there is writeback in progress against a backing device. */ -int writeback_in_progress(struct backing_dev_info *bdi) +int __global writeback_in_progress(struct backing_dev_info *bdi) { return test_bit(BDI_pdflush, &bdi->state); } diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index c3920c9..5062ca1 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -44,7 +44,7 @@ static struct backing_dev_info hugetlbfs .capabilities = BDI_CAP_NO_ACCT_DIRTY | BDI_CAP_NO_WRITEBACK, }; -int sysctl_hugetlb_shm_group; +int __global sysctl_hugetlb_shm_group; static void huge_pagevec_release(struct pagevec *pvec) { @@ -562,7 +562,7 @@ static void init_once(void *foo, kmem_ca inode_init_once(&ei->vfs_inode); } -const struct file_operations hugetlbfs_file_operations = { +const __global struct file_operations hugetlbfs_file_operations = { .mmap = hugetlbfs_file_mmap, .fsync = simple_sync_file, .get_unmapped_area = hugetlb_get_unmapped_area, @@ -691,7 +691,7 @@ out_free: return -ENOMEM; } -int hugetlb_get_quota(struct address_space *mapping) +int __global hugetlb_get_quota(struct address_space *mapping) { int ret = 0; struct hugetlbfs_sb_info *sbinfo = HUGETLBFS_SB(mapping->host->i_sb); @@ -708,7 +708,7 @@ int hugetlb_get_quota(struct address_spa return ret; } -void hugetlb_put_quota(struct address_space *mapping) +void __global hugetlb_put_quota(struct address_space *mapping) { struct hugetlbfs_sb_info *sbinfo = HUGETLBFS_SB(mapping->host->i_sb); @@ -740,7 +740,7 @@ static int can_do_hugetlb_shm(void) can_do_mlock()); } -struct file *hugetlb_zero_setup(size_t size) +struct file * __global hugetlb_zero_setup(size_t size) { int error = -ENOMEM; struct file *file; diff --git a/fs/inode.c b/fs/inode.c index 0bf9f04..0ed00e2 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -71,7 +71,7 @@ static unsigned int i_hash_shift __read_ */ LIST_HEAD(inode_in_use); -LIST_HEAD(inode_unused); +__global LIST_HEAD(inode_unused); static struct hlist_head *inode_hashtable __read_mostly; /* @@ -80,7 +80,7 @@ static struct hlist_head *inode_hashtabl * NOTE! You also have to own the lock if you change * the i_state of an inode while it is in use.. */ -DEFINE_SPINLOCK(inode_lock); +__global DEFINE_SPINLOCK(inode_lock); /* * iprune_mutex provides exclusion between the kswapd or try_to_free_pages @@ -95,7 +95,7 @@ static DEFINE_MUTEX(iprune_mutex); /* * Statistics gathering.. */ -struct inodes_stat_t inodes_stat; +struct inodes_stat_t __global inodes_stat; static kmem_cache_t * inode_cachep __read_mostly; @@ -169,7 +169,7 @@ #endif return inode; } -void destroy_inode(struct inode *inode) +void __global destroy_inode(struct inode *inode) { BUG_ON(inode_has_buffers(inode)); security_inode_free(inode); diff --git a/fs/inotify_user.c b/fs/inotify_user.c index 017cb0f..a7997c2 100644 --- a/fs/inotify_user.c +++ b/fs/inotify_user.c @@ -112,7 +112,7 @@ #include static int zero; -ctl_table inotify_table[] = { +ctl_table __global inotify_table[] = { { .ctl_name = INOTIFY_MAX_USER_INSTANCES, .procname = "max_user_instances", diff --git a/fs/jffs2/Makefile b/fs/jffs2/Makefile diff --git a/fs/jffs2/read.c b/fs/jffs2/read.c diff --git a/fs/locks.c b/fs/locks.c index b0b41a6..e4ef939 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -133,8 +133,8 @@ #define IS_POSIX(fl) (fl->fl_flags & FL_ #define IS_FLOCK(fl) (fl->fl_flags & FL_FLOCK) #define IS_LEASE(fl) (fl->fl_flags & FL_LEASE) -int leases_enable = 1; -int lease_break_time = 45; +int __global leases_enable = 1; +int __global lease_break_time = 45; #define for_each_lock(inode, lockp) \ for (lockp = &inode->i_flock; *lockp != NULL; lockp = &(*lockp)->fl_next) @@ -1072,7 +1072,7 @@ EXPORT_SYMBOL(posix_lock_file_wait); * Searches the inode's list of locks to find any POSIX locks which conflict. * This function is called from locks_verify_locked() only. */ -int locks_mandatory_locked(struct inode *inode) +int __global locks_mandatory_locked(struct inode *inode) { fl_owner_t owner = current->files; struct file_lock *fl; @@ -2110,7 +2110,7 @@ static void move_lock_status(char **p, o * @length: how much to read */ -int get_locks_status(char *buffer, char **start, off_t offset, int length) +int __global get_locks_status(char *buffer, char **start, off_t offset, int length) { struct list_head *tmp; char *q = buffer; diff --git a/fs/namei.c b/fs/namei.c index 55a1312..dee817e 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -322,7 +322,7 @@ int get_write_access(struct inode * inod return 0; } -int deny_write_access(struct file * file) +int __global deny_write_access(struct file * file) { struct inode *inode = file->f_dentry->d_inode; @@ -1040,7 +1040,7 @@ static int __emul_lookup_dentry(const ch return 1; } -void set_fs_altroot(void) +void __global set_fs_altroot(void) { char *emul = __emul_prefix(); struct nameidata nd; diff --git a/fs/namespace.c b/fs/namespace.c index fa7ed6a..eed31ac 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -38,7 +38,7 @@ static inline int sysfs_init(void) #endif /* spinlock for vfsmount related operations, inplace of dcache_lock */ -__cacheline_aligned_in_smp DEFINE_SPINLOCK(vfsmount_lock); +__global __cacheline_aligned_in_smp DEFINE_SPINLOCK(vfsmount_lock); static int event; @@ -400,7 +400,7 @@ static int show_vfsmnt(struct seq_file * return err; } -struct seq_operations mounts_op = { +struct seq_operations __global mounts_op = { .start = m_start, .next = m_next, .stop = m_stop, @@ -438,7 +438,7 @@ static int show_vfsstat(struct seq_file return err; } -struct seq_operations mountstats_op = { +struct seq_operations __global mountstats_op = { .start = m_start, .next = m_next, .stop = m_stop, @@ -1447,7 +1447,7 @@ dput_out: * Allocate a new namespace structure and populate it with contents * copied from the namespace of the passed in task structure. */ -struct namespace *dup_namespace(struct task_struct *tsk, struct fs_struct *fs) +struct namespace * __global dup_namespace(struct task_struct *tsk, struct fs_struct *fs) { struct namespace *namespace = tsk->namespace; struct namespace *new_ns; @@ -1514,7 +1514,7 @@ struct namespace *dup_namespace(struct t return new_ns; } -int copy_namespace(int flags, struct task_struct *tsk) +int __global copy_namespace(int flags, struct task_struct *tsk) { struct namespace *namespace = tsk->namespace; struct namespace *new_ns; @@ -1867,7 +1867,7 @@ void __init mnt_init(unsigned long mempa init_mount_tree(); } -void __put_namespace(struct namespace *namespace) +void __global __put_namespace(struct namespace *namespace) { struct vfsmount *root = namespace->root; LIST_HEAD(umount_list); diff --git a/fs/pipe.c b/fs/pipe.c index 2035257..eaa60a7 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -822,7 +822,7 @@ struct pipe_inode_info * alloc_pipe_info return pipe; } -void __free_pipe_info(struct pipe_inode_info *pipe) +void __global __free_pipe_info(struct pipe_inode_info *pipe) { int i; @@ -890,7 +890,7 @@ fail_inode: return NULL; } -int do_pipe(int *fd) +int __global do_pipe(int *fd) { struct qstr this; char name[32]; diff --git a/fs/proc/base.c b/fs/proc/base.c index fe8d55f..687c944 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -1975,7 +1975,7 @@ static struct inode_operations proc_self * that no dcache entries will exist at process exit time it * just makes it very unlikely that any will persist. */ -void proc_flush_task(struct task_struct *task) +void __global proc_flush_task(struct task_struct *task) { struct dentry *dentry, *leader, *dir; char buf[PROC_NUMBUF]; diff --git a/fs/proc/generic.c b/fs/proc/generic.c index 4ba0300..dbfdf4a 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c @@ -32,7 +32,7 @@ static loff_t proc_file_lseek(struct fil DEFINE_SPINLOCK(proc_subdir_lock); -int proc_match(int len, const char *name, struct proc_dir_entry *de) +int __global proc_match(int len, const char *name, struct proc_dir_entry *de) { if (de->namelen != len) return 0; diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c index 6a984f6..7e4296c 100644 --- a/fs/proc/kcore.c +++ b/fs/proc/kcore.c @@ -54,7 +54,7 @@ struct memelfnote static struct kcore_list *kclist; static DEFINE_RWLOCK(kclist_lock); -void +void __global kclist_add(struct kcore_list *new, void *addr, size_t size) { new->addr = (unsigned long)addr; diff --git a/fs/proc/proc_devtree.c b/fs/proc/proc_devtree.c index abdf068..cb53138 100644 --- a/fs/proc/proc_devtree.c +++ b/fs/proc/proc_devtree.c @@ -77,18 +77,18 @@ __proc_device_tree_add_prop(struct proc_ } -void proc_device_tree_add_prop(struct proc_dir_entry *pde, struct property *prop) +void __global proc_device_tree_add_prop(struct proc_dir_entry *pde, struct property *prop) { __proc_device_tree_add_prop(pde, prop, prop->name); } -void proc_device_tree_remove_prop(struct proc_dir_entry *pde, +void __global proc_device_tree_remove_prop(struct proc_dir_entry *pde, struct property *prop) { remove_proc_entry(prop->name, pde); } -void proc_device_tree_update_prop(struct proc_dir_entry *pde, +void __global proc_device_tree_update_prop(struct proc_dir_entry *pde, struct property *newprop, struct property *oldprop) { @@ -172,8 +172,8 @@ retry: /* * Process a node, adding entries for its children and its properties. */ -void proc_device_tree_add_node(struct device_node *np, - struct proc_dir_entry *de) +void __global proc_device_tree_add_node(struct device_node *np, + struct proc_dir_entry *de) { struct property *pp; struct proc_dir_entry *ent; diff --git a/fs/proc/proc_tty.c b/fs/proc/proc_tty.c index 15c4455..c874f53 100644 --- a/fs/proc/proc_tty.c +++ b/fs/proc/proc_tty.c @@ -182,7 +182,7 @@ static int tty_ldiscs_read_proc(char *pa * This function is called by tty_register_driver() to handle * registering the driver's /proc handler into /proc/tty/driver/ */ -void proc_tty_register_driver(struct tty_driver *driver) +void __global proc_tty_register_driver(struct tty_driver *driver) { struct proc_dir_entry *ent; @@ -205,7 +205,7 @@ void proc_tty_register_driver(struct tty /* * This function is called by tty_unregister_driver() */ -void proc_tty_unregister_driver(struct tty_driver *driver) +void __global proc_tty_unregister_driver(struct tty_driver *driver) { struct proc_dir_entry *ent; diff --git a/fs/proc/root.c b/fs/proc/root.c index 8901c65..7b99f88 100644 --- a/fs/proc/root.c +++ b/fs/proc/root.c @@ -22,7 +22,7 @@ #include "internal.h" struct proc_dir_entry *proc_net, *proc_net_stat, *proc_bus, *proc_root_fs, *proc_root_driver; #ifdef CONFIG_SYSCTL -struct proc_dir_entry *proc_sys_root; +struct proc_dir_entry * __global proc_sys_root; #endif static int proc_get_sb(struct file_system_type *fs_type, @@ -37,7 +37,7 @@ static struct file_system_type proc_fs_t .kill_sb = kill_anon_super, }; -void __init proc_root_init(void) +void __init __global proc_root_init(void) { int err = proc_init_inodecache(); if (err) diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c index b967733..9bd963d 100644 --- a/fs/ramfs/inode.c +++ b/fs/ramfs/inode.c @@ -222,7 +222,7 @@ static void __exit exit_ramfs_fs(void) module_init(init_ramfs_fs) module_exit(exit_ramfs_fs) -int __init init_rootfs(void) +int __init __global init_rootfs(void) { return register_filesystem(&rootfs_fs_type); } diff --git a/fs/splice.c b/fs/splice.c index 684bca3..78500fc 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -707,7 +707,7 @@ out_nomem: * key here is the 'actor' worker passed in that actually moves the data * to the wanted destination. See pipe_to_file/pipe_to_sendpage above. */ -ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out, +ssize_t __global splice_from_pipe(struct pipe_inode_info *pipe, struct file *out, loff_t *ppos, size_t len, unsigned int flags, splice_actor *actor) { diff --git a/fs/super.c b/fs/super.c index 6d4e817..ffa2854 100644 --- a/fs/super.c +++ b/fs/super.c @@ -45,7 +45,7 @@ void put_filesystem(struct file_system_t struct file_system_type *get_fs_type(const char *name); LIST_HEAD(super_blocks); -DEFINE_SPINLOCK(sb_lock); +__global DEFINE_SPINLOCK(sb_lock); /** * alloc_super - create new superblock @@ -347,7 +347,7 @@ static inline void write_super(struct su * hold up the sync while mounting a device. (The newly * mounted device won't need syncing.) */ -void sync_supers(void) +void __global sync_supers(void) { struct super_block *sb; @@ -592,7 +592,7 @@ static void do_emergency_remount(unsigne printk("Emergency Remount complete\n"); } -void emergency_remount(void) +void __global emergency_remount(void) { pdflush_operation(do_emergency_remount, 0); } @@ -646,7 +646,7 @@ void kill_anon_super(struct super_block EXPORT_SYMBOL(kill_anon_super); -void __init unnamed_dev_init(void) +void __init __global unnamed_dev_init(void) { idr_init(&unnamed_dev_idr); } diff --git a/init/calibrate.c b/init/calibrate.c index d206c75..938f200 100644 --- a/init/calibrate.c +++ b/init/calibrate.c @@ -112,7 +112,7 @@ #endif */ #define LPS_PREC 8 -void __devinit calibrate_delay(void) +void __devinit __global calibrate_delay(void) { unsigned long ticks, loopbit; int lps_precision = LPS_PREC; diff --git a/init/do_mounts.c b/init/do_mounts.c index 94aeec7..621bf15 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -17,13 +17,13 @@ #include "do_mounts.h" extern int get_filesystem_list(char * buf); -int __initdata rd_doload; /* 1 = load RAM disk, 0 = don't load */ +int __initdata __global rd_doload; /* 1 = load RAM disk, 0 = don't load */ -int root_mountflags = MS_RDONLY | MS_SILENT; +int __global root_mountflags = MS_RDONLY | MS_SILENT; char * __initdata root_device_name; static char __initdata saved_root_name[64]; -dev_t ROOT_DEV; +dev_t __global ROOT_DEV; static int __init load_ramdisk(char *str) { @@ -133,7 +133,7 @@ fail: * is mounted on rootfs /sys. */ -dev_t name_to_dev_t(char *name) +dev_t __global name_to_dev_t(char *name) { char s[32]; char *p; @@ -393,7 +393,7 @@ #endif /* * Prepare the namespace - decide what/where to mount, load ramdisks, etc. */ -void __init prepare_namespace(void) +void __init __global prepare_namespace(void) { int is_floppy; @@ -430,4 +430,3 @@ out: sys_chroot("."); security_sb_post_mountroot(); } - diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index a06f037..6386990 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c @@ -10,9 +10,10 @@ #include #include "do_mounts.h" -unsigned long initrd_start, initrd_end; -int initrd_below_start_ok; -unsigned int real_root_dev; /* do_proc_dointvec cannot handle kdev_t */ +unsigned long __global initrd_start; +unsigned long __global initrd_end; +int __global initrd_below_start_ok; +unsigned int __global real_root_dev; /* do_proc_dointvec cannot handle kdev_t */ static int __initdata old_fd, root_fd; static int __initdata mount_initrd = 1; diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c index ed652f4..4ef0705 100644 --- a/init/do_mounts_rd.c +++ b/init/do_mounts_rd.c @@ -12,7 +12,7 @@ #include "do_mounts.h" #define BUILD_CRAMDISK -int __initdata rd_prompt = 1;/* 1 = prompt for RAM disk, 0 = don't prompt */ +int __initdata __global rd_prompt = 1;/* 1 = prompt for RAM disk, 0 = don't prompt */ static int __init prompt_ramdisk(char *str) { @@ -21,7 +21,7 @@ static int __init prompt_ramdisk(char *s } __setup("prompt_ramdisk=", prompt_ramdisk); -int __initdata rd_image_start; /* starting block # of image */ +int __initdata __global rd_image_start; /* starting block # of image */ static int __init ramdisk_start_setup(char *str) { diff --git a/init/main.c b/init/main.c index 8651a72..735b3f3 100644 --- a/init/main.c +++ b/init/main.c @@ -104,7 +104,7 @@ #ifdef CONFIG_TC extern void tc_init(void); #endif -enum system_states system_state; +enum system_states __global system_state; EXPORT_SYMBOL(system_state); /* @@ -115,11 +115,11 @@ #define MAX_INIT_ENVS CONFIG_INIT_ENV_AR extern void time_init(void); /* Default late time init is NULL. archs can override this later. */ -void (*late_time_init)(void); +void __global (*late_time_init)(void); extern void softirq_init(void); /* Untouched command line (eg. for /proc) saved by arch-specific code. */ -char saved_command_line[COMMAND_LINE_SIZE]; +char __global saved_command_line[COMMAND_LINE_SIZE]; static char *execute_command; static char *ramdisk_execute_command; @@ -188,7 +188,7 @@ static int __init obsolete_checksetup(ch * This should be approx 2 Bo*oMips to start (note initial shift), and will * still work even if initially too large, it will just take slightly longer */ -unsigned long loops_per_jiffy = (1<<12); +unsigned long __global loops_per_jiffy = (1<<12); EXPORT_SYMBOL(loops_per_jiffy); @@ -422,7 +422,7 @@ static int __init do_early_param(char *p } /* Arch code calls this early on, or if not, just before other parsing. */ -void __init parse_early_param(void) +void __init __global parse_early_param(void) { static __initdata int done = 0; static __initdata char tmp_cmdline[COMMAND_LINE_SIZE]; @@ -453,7 +453,7 @@ void __init __attribute__((weak)) smp_se { } -asmlinkage void __init start_kernel(void) +asmlinkage void __init __global start_kernel(void) { char * command_line; extern struct kernel_param __start___param[], __stop___param[]; @@ -596,7 +596,7 @@ static int __init initcall_debug_setup(c } __setup("initcall_debug", initcall_debug_setup); -struct task_struct *child_reaper = &init_task; +struct task_struct * __global child_reaper = &init_task; extern initcall_t __initcall_start[], __initcall_end[]; diff --git a/ipc/compat.c b/ipc/compat.c index 4d20cfd..3ff09e5 100644 --- a/ipc/compat.c +++ b/ipc/compat.c @@ -234,7 +234,7 @@ static inline int put_compat_semid_ds(st return err; } -long compat_sys_semctl(int first, int second, int third, void __user *uptr) +long __global compat_sys_semctl(int first, int second, int third, void __user *uptr) { union semun fourth; u32 pad; @@ -305,7 +305,7 @@ long compat_sys_semctl(int first, int se return err; } -long compat_sys_msgsnd(int first, int second, int third, void __user *uptr) +long __global compat_sys_msgsnd(int first, int second, int third, void __user *uptr) { struct msgbuf __user *p; struct compat_msgbuf __user *up = uptr; @@ -325,7 +325,7 @@ long compat_sys_msgsnd(int first, int se return sys_msgsnd(first, p, second, third); } -long compat_sys_msgrcv(int first, int second, int msgtyp, int third, +long __global compat_sys_msgrcv(int first, int second, int msgtyp, int third, int version, void __user *uptr) { struct msgbuf __user *p; @@ -424,7 +424,7 @@ static inline int put_compat_msqid_ds(st return err; } -long compat_sys_msgctl(int first, int second, void __user *uptr) +long __global compat_sys_msgctl(int first, int second, void __user *uptr) { int err, err2; struct msqid64_ds m64; @@ -476,7 +476,7 @@ long compat_sys_msgctl(int first, int se return err; } -long compat_sys_shmat(int first, int second, compat_uptr_t third, int version, +long __global compat_sys_shmat(int first, int second, compat_uptr_t third, int version, void __user *uptr) { int err; @@ -592,7 +592,7 @@ static inline int put_compat_shm_info(st return err; } -long compat_sys_shmctl(int first, int second, void __user *uptr) +long __global compat_sys_shmctl(int first, int second, void __user *uptr) { void __user *p; struct shmid64_ds s64; @@ -671,7 +671,7 @@ long compat_sys_shmctl(int first, int se return err; } -long compat_sys_semtimedop(int semid, struct sembuf __user *tsems, +long __global compat_sys_semtimedop(int semid, struct sembuf __user *tsems, unsigned nsops, const struct compat_timespec __user *timeout) { struct timespec __user *ts64 = NULL; diff --git a/ipc/msg.c b/ipc/msg.c index 2b4fccf..eeb2030 100644 --- a/ipc/msg.c +++ b/ipc/msg.c @@ -37,9 +37,9 @@ #include #include "util.h" /* sysctl: */ -int msg_ctlmax = MSGMAX; -int msg_ctlmnb = MSGMNB; -int msg_ctlmni = MSGMNI; +int __global msg_ctlmax = MSGMAX; +int __global msg_ctlmnb = MSGMNB; +int __global msg_ctlmni = MSGMNI; /* * one msg_receiver structure for each sleeping receiver: diff --git a/ipc/sem.c b/ipc/sem.c index 6013c75..6b744e1 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -110,7 +110,7 @@ #define SEMOPM_FAST 64 /* ~ 372 bytes o * */ -int sem_ctls[4] = {SEMMSL, SEMMNS, SEMOPM, SEMMNI}; +int __global sem_ctls[4] = {SEMMSL, SEMMNS, SEMOPM, SEMMNI}; #define sc_semmsl (sem_ctls[0]) #define sc_semmns (sem_ctls[1]) #define sc_semopm (sem_ctls[2]) @@ -1234,7 +1234,7 @@ asmlinkage long sys_semop (int semid, st * because of the reasoning in the comment above unlock_semundo. */ -int copy_semundo(unsigned long clone_flags, struct task_struct *tsk) +int __global copy_semundo(unsigned long clone_flags, struct task_struct *tsk) { struct sem_undo_list *undo_list; int error; @@ -1263,7 +1263,7 @@ int copy_semundo(unsigned long clone_fla * The current implementation does not do so. The POSIX standard * and SVID should be consulted to determine what behavior is mandated. */ -void exit_sem(struct task_struct *tsk) +void __global exit_sem(struct task_struct *tsk) { struct sem_undo_list *undo_list; struct sem_undo *u, **up; diff --git a/ipc/shm.c b/ipc/shm.c index 940b0c9..4d1dd3a 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -55,9 +55,9 @@ #ifdef CONFIG_PROC_FS static int sysvipc_shm_proc_show(struct seq_file *s, void *it); #endif -size_t shm_ctlmax = SHMMAX; -size_t shm_ctlall = SHMALL; -int shm_ctlmni = SHMMNI; +size_t __global shm_ctlmax = SHMMAX; +size_t __global shm_ctlall = SHMALL; +int __global shm_ctlmni = SHMMNI; static int shm_tot; /* total number of shared memory pages */ @@ -688,7 +688,7 @@ out: * "raddr" thing points to kernel space, and there has to be a wrapper around * this. */ -long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) +long __global do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) { struct shmid_kernel *shp; unsigned long addr; diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c index 6991bec..59a13da 100644 --- a/kernel/sys_ni.c +++ b/kernel/sys_ni.c @@ -1,4 +1,5 @@ +#include #include #include diff --git a/net/core/dev.c b/net/core/dev.c index d95e262..1c08754 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -405,7 +405,7 @@ int netdev_boot_setup_check(struct net_d * later in the device probing. * Returns 0 if no settings found. */ -unsigned long netdev_boot_base(const char *prefix, int unit) +unsigned long __global netdev_boot_base(const char *prefix, int unit) { const struct netdev_boot_setup *s = dev_boot_setup; char name[IFNAMSIZ]; @@ -429,7 +429,7 @@ unsigned long netdev_boot_base(const cha /* * Saves at boot time configured settings for any netdevice. */ -int __init netdev_boot_setup(char *str) +int __init __global netdev_boot_setup(char *str) { int ints[5]; struct ifmap map; @@ -1330,7 +1330,7 @@ static int dev_gso_segment(struct sk_buf return 0; } -int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) +int __global dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) { if (likely(!skb->next)) { if (netdev_nit) @@ -1538,7 +1538,7 @@ int netdev_max_backlog = 1000; int netdev_budget = 300; int weight_p = 64; /* old backlog weight */ -DEFINE_PER_CPU(struct netif_rx_stats, netdev_rx_stat) = { 0, }; +__global DEFINE_PER_CPU(struct netif_rx_stats, netdev_rx_stat) = { 0, }; /** * netif_rx - post buffer to the network code @@ -2646,7 +2645,7 @@ static int dev_ifsioc(struct ifreq *ifr, * positive or a negative errno code on error. */ -int dev_ioctl(unsigned int cmd, void __user *arg) +int __global dev_ioctl(unsigned int cmd, void __user *arg) { struct ifreq ifr; int ret; diff --git a/net/core/dv.c b/net/core/dv.c index 29ee77f..6569d40 100644 --- a/net/core/dv.c +++ b/net/core/dv.c @@ -186,7 +186,7 @@ #else #define DVDBG(a) #endif -int divert_ioctl(unsigned int cmd, struct divert_cf __user *arg) +int __global divert_ioctl(unsigned int cmd, struct divert_cf __user *arg) { struct divert_cf div_cf; struct divert_blk *div_blk; @@ -434,7 +434,6 @@ int divert_ioctl(unsigned int cmd, struc return 0; } - /* * Check if packet should have its dest mac address set to the box itself * for diversion diff --git a/net/core/flow.c b/net/core/flow.c index 2191af5..fe4240b 100644 --- a/net/core/flow.c +++ b/net/core/flow.c @@ -285,7 +285,7 @@ static void flow_cache_flush_per_cpu(voi tasklet_schedule(tasklet); } -void flow_cache_flush(void) +void __global flow_cache_flush(void) { struct flow_flush_info info; static DEFINE_MUTEX(flow_flush_sem); diff --git a/net/core/iovec.c b/net/core/iovec.c index 65e4b56..e562e7d 100644 --- a/net/core/iovec.c +++ b/net/core/iovec.c @@ -37,7 +37,8 @@ #include * in any case. */ -int verify_iovec(struct msghdr *m, struct iovec *iov, char *address, int mode) +int __global verify_iovec(struct msghdr *m, struct iovec *iov, char *address, + int mode) { int size, err, ct; diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 5130d2e..1afcc7b 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -499,8 +499,8 @@ out: } -int pneigh_delete(struct neigh_table *tbl, const void *pkey, - struct net_device *dev) +int __global pneigh_delete(struct neigh_table *tbl, const void *pkey, + struct net_device *dev) { struct pneigh_entry *n, **np; int key_len = tbl->key_len; diff --git a/net/core/request_sock.c b/net/core/request_sock.c index 79ebd75..8a9c3aa 100644 --- a/net/core/request_sock.c +++ b/net/core/request_sock.c @@ -31,7 +31,7 @@ #include * (<=32Mb of memory) and to 1024 on normal or better ones (>=256Mb). * Further increasing requires to change hash table size. */ -int sysctl_max_syn_backlog = 256; +int __global sysctl_max_syn_backlog = 256; int reqsk_queue_alloc(struct request_sock_queue *queue, const int nr_table_entries) diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 20e5bb7..0c35f52 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -155,7 +155,7 @@ size_t rtattr_strlcpy(char *dest, const return ret; } -int rtnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, int echo) +int __global rtnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, int echo) { int err = 0; @@ -777,7 +777,7 @@ static struct notifier_block rtnetlink_d .notifier_call = rtnetlink_event, }; -void __init rtnetlink_init(void) +void __init __global rtnetlink_init(void) { int i; diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 022d889..7502897 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -2039,7 +2039,7 @@ err: EXPORT_SYMBOL_GPL(skb_segment); -void __init skb_init(void) +void __init __global skb_init(void) { skbuff_head_cache = kmem_cache_create("skbuff_head_cache", sizeof(struct sk_buff), diff --git a/net/core/sock.c b/net/core/sock.c index 51fcfbc..96db5f9 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -636,8 +636,8 @@ #endif } -int sock_getsockopt(struct socket *sock, int level, int optname, - char __user *optval, int __user *optlen) +int __global sock_getsockopt(struct socket *sock, int level, int optname, + char __user *optval, int __user *optlen) { struct sock *sk = sock->sk; @@ -983,7 +983,7 @@ out: EXPORT_SYMBOL_GPL(sk_clone); -void __init sk_init(void) +void __init __global sk_init(void) { if (num_physpages <= 4096) { sysctl_wmem_max = 32767; @@ -1065,8 +1065,8 @@ struct sk_buff *sock_wmalloc(struct sock /* * Allocate a skb from the socket's receive buffer. */ -struct sk_buff *sock_rmalloc(struct sock *sk, unsigned long size, int force, - gfp_t priority) +struct sk_buff * __global sock_rmalloc(struct sock *sk, unsigned long size, + int force, gfp_t priority) { if (force || atomic_read(&sk->sk_rmem_alloc) < sk->sk_rcvbuf) { struct sk_buff *skb = alloc_skb(size, priority); diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index 0253413..1316556 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c @@ -30,7 +30,7 @@ extern u32 sysctl_xfrm_aevent_etime; extern u32 sysctl_xfrm_aevent_rseqth; #endif -ctl_table core_table[] = { +ctl_table __global core_table[] = { #ifdef CONFIG_NET { .ctl_name = NET_CORE_WMEM_MAX, diff --git a/net/core/user_dma.c b/net/core/user_dma.c index 248a6b6..676efe0 100644 --- a/net/core/user_dma.c +++ b/net/core/user_dma.c @@ -33,7 +33,7 @@ #include #define NET_DMA_DEFAULT_COPYBREAK 4096 -int sysctl_tcp_dma_copybreak = NET_DMA_DEFAULT_COPYBREAK; +int __global sysctl_tcp_dma_copybreak = NET_DMA_DEFAULT_COPYBREAK; /** * dma_skb_copy_datagram_iovec - Copy a datagram to an iovec. @@ -45,7 +45,7 @@ int sysctl_tcp_dma_copybreak = NET_DMA_D * * Note: the iovec is modified during the copy. */ -int dma_skb_copy_datagram_iovec(struct dma_chan *chan, +int __global dma_skb_copy_datagram_iovec(struct dma_chan *chan, struct sk_buff *skb, int offset, struct iovec *to, size_t len, struct dma_pinned_list *pinned_list) { diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index 95fac55..944595e 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c @@ -27,7 +27,7 @@ #include * Allocate and initialize a new local port bind bucket. * The bindhash mutex for snum's hash chain must be held here. */ -struct inet_bind_bucket *inet_bind_bucket_create(kmem_cache_t *cachep, +struct inet_bind_bucket * __global inet_bind_bucket_create(kmem_cache_t *cachep, struct inet_bind_hashbucket *head, const unsigned short snum) { @@ -53,7 +53,7 @@ void inet_bind_bucket_destroy(kmem_cache } } -void inet_bind_hash(struct sock *sk, struct inet_bind_bucket *tb, +void __global inet_bind_hash(struct sock *sk, struct inet_bind_bucket *tb, const unsigned short snum) { inet_sk(sk)->num = snum; diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index 70cea9d..583acc3 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c @@ -129,7 +129,7 @@ static int sysctl_tcp_congestion_control } -ctl_table ipv4_table[] = { +ctl_table __global ipv4_table[] = { { .ctl_name = NET_IPV4_TCP_TIMESTAMPS, .procname = "tcp_timestamps", diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 7c1bde3..67af642 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -431,7 +431,7 @@ static void tcp_synack_timer(struct sock TCP_TIMEOUT_INIT, TCP_RTO_MAX); } -void tcp_set_keepalive(struct sock *sk, int val) +void __global tcp_set_keepalive(struct sock *sk, int val) { if ((1 << sk->sk_state) & (TCPF_CLOSE | TCPF_LISTEN)) return; @@ -442,7 +442,6 @@ void tcp_set_keepalive(struct sock *sk, inet_csk_delete_keepalive_timer(sk); } - static void tcp_keepalive_timer (unsigned long data) { struct sock *sk = (struct sock *) data; diff --git a/net/netfilter/core.c b/net/netfilter/core.c index 5d29d5e..13af457 100644 --- a/net/netfilter/core.c +++ b/net/netfilter/core.c @@ -245,7 +245,7 @@ struct proc_dir_entry *proc_net_netfilte EXPORT_SYMBOL(proc_net_netfilter); #endif -void __init netfilter_init(void) +void __init __global netfilter_init(void) { int i, h; for (i = 0; i < NPROTO; i++) { diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index 0834c2e..f897dc3 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -182,7 +182,7 @@ requeue: return q->q.qlen; } -void __qdisc_run(struct net_device *dev) +void __global __qdisc_run(struct net_device *dev) { if (unlikely(dev->qdisc == &noop_qdisc)) goto out; @@ -535,7 +535,7 @@ void qdisc_destroy(struct Qdisc *qdisc) call_rcu(&qdisc->q_rcu, __qdisc_destroy); } -void dev_activate(struct net_device *dev) +void __global dev_activate(struct net_device *dev) { /* No queueing discipline is attached to device; create default one i.e. pfifo_fast for devices, @@ -575,7 +575,7 @@ void dev_activate(struct net_device *dev spin_unlock_bh(&dev->queue_lock); } -void dev_deactivate(struct net_device *dev) +void __global dev_deactivate(struct net_device *dev) { struct Qdisc *qdisc; @@ -602,7 +602,7 @@ void dev_deactivate(struct net_device *d } } -void dev_init_scheduler(struct net_device *dev) +void __global dev_init_scheduler(struct net_device *dev) { qdisc_lock_tree(dev); dev->qdisc = &noop_qdisc; @@ -613,7 +613,7 @@ void dev_init_scheduler(struct net_devic dev_watchdog_init(dev); } -void dev_shutdown(struct net_device *dev) +void __global dev_shutdown(struct net_device *dev) { struct Qdisc *qdisc; diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index f35bc67..e436c99 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -748,7 +748,7 @@ static struct xfrm_policy *clone_policy( return newp; } -int __xfrm_sk_clone_policy(struct sock *sk) +int __global __xfrm_sk_clone_policy(struct sock *sk) { struct xfrm_policy *p0 = sk->sk_policy[0], *p1 = sk->sk_policy[1]; @@ -1438,7 +1438,7 @@ static void __init xfrm_policy_init(void register_netdevice_notifier(&xfrm_dev_notifier); } -void __init xfrm_init(void) +void __init __global xfrm_init(void) { xfrm_state_init(); xfrm_policy_init(); diff --git a/security/selinux/avc.c b/security/selinux/avc.c index a300702..1eaaa94 100644 --- a/security/selinux/avc.c +++ b/security/selinux/avc.c @@ -686,7 +686,7 @@ void avc_audit(u32 ssid, u32 tsid, * @perms based on @tclass. Returns %0 on success or * -%ENOMEM if insufficient memory exists to add the callback. */ -int avc_add_callback(int (*callback)(u32 event, u32 ssid, u32 tsid, +int __global avc_add_callback(int (*callback)(u32 event, u32 ssid, u32 tsid, u16 tclass, u32 perms, u32 *out_retained), u32 events, u32 ssid, u32 tsid, @@ -797,7 +797,7 @@ out: * avc_ss_reset - Flush the cache and revalidate migrated permissions. * @seqno: policy sequence number */ -int avc_ss_reset(u32 seqno) +int __global avc_ss_reset(u32 seqno) { struct avc_callback_node *c; int i, rc = 0, tmprc; diff --git a/security/selinux/exports.c b/security/selinux/exports.c index 9d7737d..39ab9a5 100644 --- a/security/selinux/exports.c +++ b/security/selinux/exports.c @@ -21,7 +21,7 @@ #include #include "security.h" #include "objsec.h" -void selinux_task_ctxid(struct task_struct *tsk, u32 *ctxid) +void __global selinux_task_ctxid(struct task_struct *tsk, u32 *ctxid) { struct task_security_struct *tsec = tsk->security; if (selinux_enabled) @@ -30,7 +30,7 @@ void selinux_task_ctxid(struct task_stru *ctxid = 0; } -int selinux_ctxid_to_string(u32 ctxid, char **ctx, u32 *ctxlen) +int __global selinux_ctxid_to_string(u32 ctxid, char **ctx, u32 *ctxlen) { if (selinux_enabled) return security_sid_to_context(ctxid, ctx, ctxlen); @@ -42,7 +42,7 @@ int selinux_ctxid_to_string(u32 ctxid, c return 0; } -void selinux_get_inode_sid(const struct inode *inode, u32 *sid) +void __global selinux_get_inode_sid(const struct inode *inode, u32 *sid) { if (selinux_enabled) { struct inode_security_struct *isec = inode->i_security; @@ -52,7 +52,7 @@ void selinux_get_inode_sid(const struct *sid = 0; } -void selinux_get_ipc_sid(const struct kern_ipc_perm *ipcp, u32 *sid) +void __global selinux_get_ipc_sid(const struct kern_ipc_perm *ipcp, u32 *sid) { if (selinux_enabled) { struct ipc_security_struct *isec = ipcp->security; @@ -62,7 +62,7 @@ void selinux_get_ipc_sid(const struct ke *sid = 0; } -void selinux_get_task_sid(struct task_struct *tsk, u32 *sid) +void __global selinux_get_task_sid(struct task_struct *tsk, u32 *sid) { if (selinux_enabled) { struct task_security_struct *tsec = tsk->security; diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 5d1b8c7..50e0269 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -83,7 +83,7 @@ extern int selinux_nlmsg_lookup(u16 scla extern int selinux_compat_net; #ifdef CONFIG_SECURITY_SELINUX_DEVELOP -int selinux_enforcing = 0; +int __global selinux_enforcing = 0; static int __init enforcing_setup(char *str) { @@ -4683,7 +4683,7 @@ #endif return 0; } -void selinux_complete_init(void) +void __global selinux_complete_init(void) { printk(KERN_INFO "SELinux: Completing initialization.\n"); diff --git a/security/selinux/netlink.c b/security/selinux/netlink.c index e203883..dcb1ec4 100644 --- a/security/selinux/netlink.c +++ b/security/selinux/netlink.c @@ -97,7 +97,7 @@ void selnl_notify_setenforce(int val) selnl_notify(SELNL_MSG_SETENFORCE, &val); } -void selnl_notify_policyload(u32 seqno) +void __global selnl_notify_policyload(u32 seqno) { selnl_notify(SELNL_MSG_POLICYLOAD, &seqno); } diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index f03960e..3ed702f 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -45,7 +45,7 @@ static char *symtab_name[SYM_NUM] = { }; #endif -int selinux_mls_enabled = 0; +int __global selinux_mls_enabled = 0; static unsigned int symtab_sizes[SYM_NUM] = { 2, diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index 85e4298..58bd308 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c @@ -42,7 +42,7 @@ #include "conditional.h" #include "mls.h" extern void selnl_notify_policyload(u32 seqno); -unsigned int policydb_loaded_version; +unsigned int __global policydb_loaded_version; static DEFINE_RWLOCK(policy_rwlock); #define POLICY_RDLOCK read_lock(&policy_rwlock) @@ -56,7 +56,7 @@ #define LOAD_UNLOCK mutex_unlock(&load_m static struct sidtab sidtab; struct policydb policydb; -int ss_initialized = 0; +int __global ss_initialized = 0; /* * The largest sequence number that has been used when @@ -397,7 +397,7 @@ out: return -EPERM; } -int security_validate_transition(u32 oldsid, u32 newsid, u32 tasksid, +int __global security_validate_transition(u32 oldsid, u32 newsid, u32 tasksid, u16 tclass) { struct context *ocontext; @@ -484,7 +484,7 @@ out: * Return -%EINVAL if any of the parameters are invalid or %0 * if the access vector decisions were computed successfully. */ -int security_compute_av(u32 ssid, +int __global security_compute_av(u32 ssid, u32 tsid, u16 tclass, u32 requested, @@ -583,7 +583,7 @@ #include "initial_sid_to_string.h" * into a dynamically allocated string of the correct size. Set @scontext * to point to this string and set @scontext_len to the length of the string. */ -int security_sid_to_context(u32 sid, char **scontext, u32 *scontext_len) +int __global security_sid_to_context(u32 sid, char **scontext, u32 *scontext_len) { struct context *context; int rc = 0; @@ -749,7 +749,7 @@ out: * Returns -%EINVAL if the context is invalid, -%ENOMEM if insufficient * memory is available, or 0 on success. */ -int security_context_to_sid(char *scontext, u32 scontext_len, u32 *sid) +int __global security_context_to_sid(char *scontext, u32 scontext_len, u32 *sid) { return security_context_to_sid_core(scontext, scontext_len, sid, SECSID_NULL); @@ -772,7 +772,7 @@ int security_context_to_sid(char *sconte * Returns -%EINVAL if the context is invalid, -%ENOMEM if insufficient * memory is available, or 0 on success. */ -int security_context_to_sid_default(char *scontext, u32 scontext_len, u32 *sid, u32 def_sid) +int __global security_context_to_sid_default(char *scontext, u32 scontext_len, u32 *sid, u32 def_sid) { return security_context_to_sid_core(scontext, scontext_len, sid, def_sid); @@ -959,7 +959,7 @@ out: * if insufficient memory is available, or %0 if the new SID was * computed successfully. */ -int security_transition_sid(u32 ssid, +int __global security_transition_sid(u32 ssid, u32 tsid, u16 tclass, u32 *out_sid) @@ -980,7 +980,7 @@ int security_transition_sid(u32 ssid, * if insufficient memory is available, or %0 if the SID was * computed successfully. */ -int security_member_sid(u32 ssid, +int __global security_member_sid(u32 ssid, u32 tsid, u16 tclass, u32 *out_sid) @@ -1001,7 +1001,7 @@ int security_member_sid(u32 ssid, * if insufficient memory is available, or %0 if the SID was * computed successfully. */ -int security_change_sid(u32 ssid, +int __global security_change_sid(u32 ssid, u32 tsid, u16 tclass, u32 *out_sid) @@ -1210,7 +1210,7 @@ extern void selinux_complete_init(void); * This function will flush the access vector cache after * loading the new policy. */ -int security_load_policy(void *data, size_t len) +int __global security_load_policy(void *data, size_t len) { struct policydb oldpolicydb, newpolicydb; struct sidtab oldsidtab, newsidtab; @@ -1314,7 +1314,7 @@ err: * @port: port number * @out_sid: security identifier */ -int security_port_sid(u16 domain, +int __global security_port_sid(u16 domain, u16 type, u8 protocol, u16 port, @@ -1358,7 +1358,7 @@ out: * @if_sid: interface SID * @msg_sid: default SID for received packets */ -int security_netif_sid(char *name, +int __global security_netif_sid(char *name, u32 *if_sid, u32 *msg_sid) { @@ -1419,7 +1419,7 @@ static int match_ipv6_addrmask(u32 *inpu * @addrlen: address length in bytes * @out_sid: security identifier */ -int security_node_sid(u16 domain, +int __global security_node_sid(u16 domain, void *addrp, u32 addrlen, u32 *out_sid) @@ -1502,7 +1502,7 @@ #define SIDS_NEL 25 * number of elements in the array. */ -int security_get_user_sids(u32 fromsid, +int __global security_get_user_sids(u32 fromsid, char *username, u32 **sids, u32 *nel) @@ -1605,7 +1605,7 @@ out: * cannot support xattr or use a fixed labeling behavior like * transition SIDs or task SIDs. */ -int security_genfs_sid(const char *fstype, +int __global security_genfs_sid(const char *fstype, char *path, u16 sclass, u32 *sid) @@ -1662,7 +1662,7 @@ out: * @behavior: labeling behavior * @sid: SID for filesystem (superblock) */ -int security_fs_use( +int __global security_fs_use( const char *fstype, unsigned int *behavior, u32 *sid) @@ -1704,7 +1704,7 @@ out: return rc; } -int security_get_bools(int *len, char ***names, int **values) +int __global security_get_bools(int *len, char ***names, int **values) { int i, rc = -ENOMEM; @@ -1750,7 +1750,7 @@ err: } -int security_set_bools(int len, int *values) +int __global security_set_bools(int len, int *values) { int i, rc = 0; int lenp, seqno = 0; @@ -1798,7 +1798,7 @@ out: return rc; } -int security_get_bool_value(int bool) +int __global security_get_bool_value(int bool) { int rc = 0; int len; @@ -1822,7 +1822,7 @@ struct selinux_audit_rule { struct context au_ctxt; }; -void selinux_audit_rule_free(struct selinux_audit_rule *rule) +void __global selinux_audit_rule_free(struct selinux_audit_rule *rule) { if (rule) { context_destroy(&rule->au_ctxt); @@ -1830,7 +1830,7 @@ void selinux_audit_rule_free(struct seli } } -int selinux_audit_rule_init(u32 field, u32 op, char *rulestr, +int __global selinux_audit_rule_init(u32 field, u32 op, char *rulestr, struct selinux_audit_rule **rule) { struct selinux_audit_rule *tmprule; @@ -1923,7 +1923,7 @@ int selinux_audit_rule_init(u32 field, u return rc; } -int selinux_audit_rule_match(u32 ctxid, u32 field, u32 op, +int __global selinux_audit_rule_match(u32 ctxid, u32 field, u32 op, struct selinux_audit_rule *rule, struct audit_context *actx) { @@ -2060,7 +2060,7 @@ static int __init aurule_init(void) } __initcall(aurule_init); -void selinux_audit_set_callback(int (*callback)(void)) +void __global selinux_audit_set_callback(int (*callback)(void)) { aurule_callback = callback; } diff --git a/sound/core/sound_oss.c b/sound/core/sound_oss.c