diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2010-02-24 14:01:56 -0500 |
|---|---|---|
| committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-08-19 20:18:03 -0400 |
| commit | 4d2deb40b20c2608486598364e63e37b09a9ac2f (patch) | |
| tree | cf61f5492623fa69ddc9a0573b50d52b002c2f85 | |
| parent | d2c2486bc8e185548490e8edbc84d185de9eaff1 (diff) | |
kernel: __rcu annotations
This adds annotations for RCU operations in core kernel components
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
| -rw-r--r-- | include/linux/fdtable.h | 6 | ||||
| -rw-r--r-- | include/linux/fs.h | 2 | ||||
| -rw-r--r-- | include/linux/genhd.h | 6 | ||||
| -rw-r--r-- | include/linux/init_task.h | 4 | ||||
| -rw-r--r-- | include/linux/iocontext.h | 2 | ||||
| -rw-r--r-- | include/linux/mm_types.h | 2 |
6 files changed, 11 insertions, 11 deletions
diff --git a/include/linux/fdtable.h b/include/linux/fdtable.h index f59ed297b661..133c0ba25e30 100644 --- a/include/linux/fdtable.h +++ b/include/linux/fdtable.h | |||
| @@ -31,7 +31,7 @@ struct embedded_fd_set { | |||
| 31 | 31 | ||
| 32 | struct fdtable { | 32 | struct fdtable { |
| 33 | unsigned int max_fds; | 33 | unsigned int max_fds; |
| 34 | struct file ** fd; /* current fd array */ | 34 | struct file __rcu **fd; /* current fd array */ |
| 35 | fd_set *close_on_exec; | 35 | fd_set *close_on_exec; |
| 36 | fd_set *open_fds; | 36 | fd_set *open_fds; |
| 37 | struct rcu_head rcu; | 37 | struct rcu_head rcu; |
| @@ -46,7 +46,7 @@ struct files_struct { | |||
| 46 | * read mostly part | 46 | * read mostly part |
| 47 | */ | 47 | */ |
| 48 | atomic_t count; | 48 | atomic_t count; |
| 49 | struct fdtable *fdt; | 49 | struct fdtable __rcu *fdt; |
| 50 | struct fdtable fdtab; | 50 | struct fdtable fdtab; |
| 51 | /* | 51 | /* |
| 52 | * written part on a separate cache line in SMP | 52 | * written part on a separate cache line in SMP |
| @@ -55,7 +55,7 @@ struct files_struct { | |||
| 55 | int next_fd; | 55 | int next_fd; |
| 56 | struct embedded_fd_set close_on_exec_init; | 56 | struct embedded_fd_set close_on_exec_init; |
| 57 | struct embedded_fd_set open_fds_init; | 57 | struct embedded_fd_set open_fds_init; |
| 58 | struct file * fd_array[NR_OPEN_DEFAULT]; | 58 | struct file __rcu * fd_array[NR_OPEN_DEFAULT]; |
| 59 | }; | 59 | }; |
| 60 | 60 | ||
| 61 | #define rcu_dereference_check_fdtable(files, fdtfd) \ | 61 | #define rcu_dereference_check_fdtable(files, fdtfd) \ |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 76041b614758..aa3dc8d20436 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -1380,7 +1380,7 @@ struct super_block { | |||
| 1380 | * Saved mount options for lazy filesystems using | 1380 | * Saved mount options for lazy filesystems using |
| 1381 | * generic_show_options() | 1381 | * generic_show_options() |
| 1382 | */ | 1382 | */ |
| 1383 | char *s_options; | 1383 | char __rcu *s_options; |
| 1384 | }; | 1384 | }; |
| 1385 | 1385 | ||
| 1386 | extern struct timespec current_fs_time(struct super_block *sb); | 1386 | extern struct timespec current_fs_time(struct super_block *sb); |
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 5f2f4c4d8fb0..af3f06b41dc1 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
| @@ -129,8 +129,8 @@ struct blk_scsi_cmd_filter { | |||
| 129 | struct disk_part_tbl { | 129 | struct disk_part_tbl { |
| 130 | struct rcu_head rcu_head; | 130 | struct rcu_head rcu_head; |
| 131 | int len; | 131 | int len; |
| 132 | struct hd_struct *last_lookup; | 132 | struct hd_struct __rcu *last_lookup; |
| 133 | struct hd_struct *part[]; | 133 | struct hd_struct __rcu *part[]; |
| 134 | }; | 134 | }; |
| 135 | 135 | ||
| 136 | struct gendisk { | 136 | struct gendisk { |
| @@ -149,7 +149,7 @@ struct gendisk { | |||
| 149 | * non-critical accesses use RCU. Always access through | 149 | * non-critical accesses use RCU. Always access through |
| 150 | * helpers. | 150 | * helpers. |
| 151 | */ | 151 | */ |
| 152 | struct disk_part_tbl *part_tbl; | 152 | struct disk_part_tbl __rcu *part_tbl; |
| 153 | struct hd_struct part0; | 153 | struct hd_struct part0; |
| 154 | 154 | ||
| 155 | const struct block_device_operations *fops; | 155 | const struct block_device_operations *fops; |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 1f43fa56f600..6460fc65ed6b 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
| @@ -137,8 +137,8 @@ extern struct cred init_cred; | |||
| 137 | .children = LIST_HEAD_INIT(tsk.children), \ | 137 | .children = LIST_HEAD_INIT(tsk.children), \ |
| 138 | .sibling = LIST_HEAD_INIT(tsk.sibling), \ | 138 | .sibling = LIST_HEAD_INIT(tsk.sibling), \ |
| 139 | .group_leader = &tsk, \ | 139 | .group_leader = &tsk, \ |
| 140 | .real_cred = &init_cred, \ | 140 | RCU_INIT_POINTER(.real_cred, &init_cred), \ |
| 141 | .cred = &init_cred, \ | 141 | RCU_INIT_POINTER(.cred, &init_cred), \ |
| 142 | .cred_guard_mutex = \ | 142 | .cred_guard_mutex = \ |
| 143 | __MUTEX_INITIALIZER(tsk.cred_guard_mutex), \ | 143 | __MUTEX_INITIALIZER(tsk.cred_guard_mutex), \ |
| 144 | .comm = "swapper", \ | 144 | .comm = "swapper", \ |
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h index 64d529133031..3e70b21884a9 100644 --- a/include/linux/iocontext.h +++ b/include/linux/iocontext.h | |||
| @@ -53,7 +53,7 @@ struct io_context { | |||
| 53 | 53 | ||
| 54 | struct radix_tree_root radix_root; | 54 | struct radix_tree_root radix_root; |
| 55 | struct hlist_head cic_list; | 55 | struct hlist_head cic_list; |
| 56 | void *ioc_data; | 56 | void __rcu *ioc_data; |
| 57 | }; | 57 | }; |
| 58 | 58 | ||
| 59 | static inline struct io_context *ioc_task_link(struct io_context *ioc) | 59 | static inline struct io_context *ioc_task_link(struct io_context *ioc) |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index b8bb9a6a1f37..05537a5eb855 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
| @@ -299,7 +299,7 @@ struct mm_struct { | |||
| 299 | * new_owner->mm == mm | 299 | * new_owner->mm == mm |
| 300 | * new_owner->alloc_lock is held | 300 | * new_owner->alloc_lock is held |
| 301 | */ | 301 | */ |
| 302 | struct task_struct *owner; | 302 | struct task_struct __rcu *owner; |
| 303 | #endif | 303 | #endif |
| 304 | 304 | ||
| 305 | #ifdef CONFIG_PROC_FS | 305 | #ifdef CONFIG_PROC_FS |
