diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-i386/elf.h | 51 | ||||
-rw-r--r-- | include/asm-i386/fixmap.h | 2 | ||||
-rw-r--r-- | include/asm-i386/page.h | 2 | ||||
-rw-r--r-- | include/asm-x86_64/uaccess.h | 2 | ||||
-rw-r--r-- | include/linux/bitops.h | 6 | ||||
-rw-r--r-- | include/linux/kvm.h | 1 | ||||
-rw-r--r-- | include/linux/list.h | 10 | ||||
-rw-r--r-- | include/linux/mm.h | 1 | ||||
-rw-r--r-- | include/linux/mutex.h | 2 | ||||
-rw-r--r-- | include/linux/nfsd/nfsd.h | 4 | ||||
-rw-r--r-- | include/linux/nfsd/nfsfh.h | 15 | ||||
-rw-r--r-- | include/linux/nfsd/xdr.h | 4 | ||||
-rw-r--r-- | include/linux/nfsd/xdr3.h | 8 | ||||
-rw-r--r-- | include/linux/raid/md.h | 2 | ||||
-rw-r--r-- | include/linux/rtmutex.h | 4 | ||||
-rw-r--r-- | include/linux/sunrpc/svc.h | 5 | ||||
-rw-r--r-- | include/linux/timer.h | 4 |
17 files changed, 38 insertions, 85 deletions
diff --git a/include/asm-i386/elf.h b/include/asm-i386/elf.h index 45d21a0c95bf..369035dfe4b6 100644 --- a/include/asm-i386/elf.h +++ b/include/asm-i386/elf.h | |||
@@ -143,11 +143,8 @@ extern int dump_task_extended_fpu (struct task_struct *, struct user_fxsr_struct | |||
143 | # define VDSO_PRELINK 0 | 143 | # define VDSO_PRELINK 0 |
144 | #endif | 144 | #endif |
145 | 145 | ||
146 | #define VDSO_COMPAT_SYM(x) \ | ||
147 | (VDSO_COMPAT_BASE + (unsigned long)(x) - VDSO_PRELINK) | ||
148 | |||
149 | #define VDSO_SYM(x) \ | 146 | #define VDSO_SYM(x) \ |
150 | (VDSO_BASE + (unsigned long)(x) - VDSO_PRELINK) | 147 | (VDSO_COMPAT_BASE + (unsigned long)(x) - VDSO_PRELINK) |
151 | 148 | ||
152 | #define VDSO_HIGH_EHDR ((const struct elfhdr *) VDSO_HIGH_BASE) | 149 | #define VDSO_HIGH_EHDR ((const struct elfhdr *) VDSO_HIGH_BASE) |
153 | #define VDSO_EHDR ((const struct elfhdr *) VDSO_COMPAT_BASE) | 150 | #define VDSO_EHDR ((const struct elfhdr *) VDSO_COMPAT_BASE) |
@@ -156,10 +153,12 @@ extern void __kernel_vsyscall; | |||
156 | 153 | ||
157 | #define VDSO_ENTRY VDSO_SYM(&__kernel_vsyscall) | 154 | #define VDSO_ENTRY VDSO_SYM(&__kernel_vsyscall) |
158 | 155 | ||
156 | #ifndef CONFIG_COMPAT_VDSO | ||
159 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES | 157 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES |
160 | struct linux_binprm; | 158 | struct linux_binprm; |
161 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, | 159 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, |
162 | int executable_stack); | 160 | int executable_stack); |
161 | #endif | ||
163 | 162 | ||
164 | extern unsigned int vdso_enabled; | 163 | extern unsigned int vdso_enabled; |
165 | 164 | ||
@@ -169,50 +168,6 @@ do if (vdso_enabled) { \ | |||
169 | NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_COMPAT_BASE); \ | 168 | NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_COMPAT_BASE); \ |
170 | } while (0) | 169 | } while (0) |
171 | 170 | ||
172 | /* | ||
173 | * These macros parameterize elf_core_dump in fs/binfmt_elf.c to write out | ||
174 | * extra segments containing the vsyscall DSO contents. Dumping its | ||
175 | * contents makes post-mortem fully interpretable later without matching up | ||
176 | * the same kernel and hardware config to see what PC values meant. | ||
177 | * Dumping its extra ELF program headers includes all the other information | ||
178 | * a debugger needs to easily find how the vsyscall DSO was being used. | ||
179 | */ | ||
180 | #define ELF_CORE_EXTRA_PHDRS (VDSO_HIGH_EHDR->e_phnum) | ||
181 | #define ELF_CORE_WRITE_EXTRA_PHDRS \ | ||
182 | do { \ | ||
183 | const struct elf_phdr *const vsyscall_phdrs = \ | ||
184 | (const struct elf_phdr *) (VDSO_HIGH_BASE \ | ||
185 | + VDSO_HIGH_EHDR->e_phoff); \ | ||
186 | int i; \ | ||
187 | Elf32_Off ofs = 0; \ | ||
188 | for (i = 0; i < VDSO_HIGH_EHDR->e_phnum; ++i) { \ | ||
189 | struct elf_phdr phdr = vsyscall_phdrs[i]; \ | ||
190 | if (phdr.p_type == PT_LOAD) { \ | ||
191 | BUG_ON(ofs != 0); \ | ||
192 | ofs = phdr.p_offset = offset; \ | ||
193 | phdr.p_memsz = PAGE_ALIGN(phdr.p_memsz); \ | ||
194 | phdr.p_filesz = phdr.p_memsz; \ | ||
195 | offset += phdr.p_filesz; \ | ||
196 | } \ | ||
197 | else \ | ||
198 | phdr.p_offset += ofs; \ | ||
199 | phdr.p_paddr = 0; /* match other core phdrs */ \ | ||
200 | DUMP_WRITE(&phdr, sizeof(phdr)); \ | ||
201 | } \ | ||
202 | } while (0) | ||
203 | #define ELF_CORE_WRITE_EXTRA_DATA \ | ||
204 | do { \ | ||
205 | const struct elf_phdr *const vsyscall_phdrs = \ | ||
206 | (const struct elf_phdr *) (VDSO_HIGH_BASE \ | ||
207 | + VDSO_HIGH_EHDR->e_phoff); \ | ||
208 | int i; \ | ||
209 | for (i = 0; i < VDSO_HIGH_EHDR->e_phnum; ++i) { \ | ||
210 | if (vsyscall_phdrs[i].p_type == PT_LOAD) \ | ||
211 | DUMP_WRITE((void *) vsyscall_phdrs[i].p_vaddr, \ | ||
212 | PAGE_ALIGN(vsyscall_phdrs[i].p_memsz)); \ | ||
213 | } \ | ||
214 | } while (0) | ||
215 | |||
216 | #endif | 171 | #endif |
217 | 172 | ||
218 | #endif | 173 | #endif |
diff --git a/include/asm-i386/fixmap.h b/include/asm-i386/fixmap.h index 02428cb36621..3e9f610c35df 100644 --- a/include/asm-i386/fixmap.h +++ b/include/asm-i386/fixmap.h | |||
@@ -23,6 +23,8 @@ | |||
23 | extern unsigned long __FIXADDR_TOP; | 23 | extern unsigned long __FIXADDR_TOP; |
24 | #else | 24 | #else |
25 | #define __FIXADDR_TOP 0xfffff000 | 25 | #define __FIXADDR_TOP 0xfffff000 |
26 | #define FIXADDR_USER_START __fix_to_virt(FIX_VDSO) | ||
27 | #define FIXADDR_USER_END __fix_to_virt(FIX_VDSO - 1) | ||
26 | #endif | 28 | #endif |
27 | 29 | ||
28 | #ifndef __ASSEMBLY__ | 30 | #ifndef __ASSEMBLY__ |
diff --git a/include/asm-i386/page.h b/include/asm-i386/page.h index fd3f64ace248..7b19f454761d 100644 --- a/include/asm-i386/page.h +++ b/include/asm-i386/page.h | |||
@@ -143,7 +143,9 @@ extern int page_is_ram(unsigned long pagenr); | |||
143 | #include <asm-generic/memory_model.h> | 143 | #include <asm-generic/memory_model.h> |
144 | #include <asm-generic/page.h> | 144 | #include <asm-generic/page.h> |
145 | 145 | ||
146 | #ifndef CONFIG_COMPAT_VDSO | ||
146 | #define __HAVE_ARCH_GATE_AREA 1 | 147 | #define __HAVE_ARCH_GATE_AREA 1 |
148 | #endif | ||
147 | #endif /* __KERNEL__ */ | 149 | #endif /* __KERNEL__ */ |
148 | 150 | ||
149 | #endif /* _I386_PAGE_H */ | 151 | #endif /* _I386_PAGE_H */ |
diff --git a/include/asm-x86_64/uaccess.h b/include/asm-x86_64/uaccess.h index d5dbc87274f8..c0eac519840b 100644 --- a/include/asm-x86_64/uaccess.h +++ b/include/asm-x86_64/uaccess.h | |||
@@ -157,7 +157,7 @@ do { \ | |||
157 | case 1: __put_user_asm(x,ptr,retval,"b","b","iq",-EFAULT); break;\ | 157 | case 1: __put_user_asm(x,ptr,retval,"b","b","iq",-EFAULT); break;\ |
158 | case 2: __put_user_asm(x,ptr,retval,"w","w","ir",-EFAULT); break;\ | 158 | case 2: __put_user_asm(x,ptr,retval,"w","w","ir",-EFAULT); break;\ |
159 | case 4: __put_user_asm(x,ptr,retval,"l","k","ir",-EFAULT); break;\ | 159 | case 4: __put_user_asm(x,ptr,retval,"l","k","ir",-EFAULT); break;\ |
160 | case 8: __put_user_asm(x,ptr,retval,"q","","ir",-EFAULT); break;\ | 160 | case 8: __put_user_asm(x,ptr,retval,"q","","Zr",-EFAULT); break;\ |
161 | default: __put_user_bad(); \ | 161 | default: __put_user_bad(); \ |
162 | } \ | 162 | } \ |
163 | } while (0) | 163 | } while (0) |
diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 5d1eabcde5d5..638165f571da 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h | |||
@@ -31,9 +31,8 @@ static inline unsigned long hweight_long(unsigned long w) | |||
31 | return sizeof(w) == 4 ? hweight32(w) : hweight64(w); | 31 | return sizeof(w) == 4 ? hweight32(w) : hweight64(w); |
32 | } | 32 | } |
33 | 33 | ||
34 | /* | 34 | /** |
35 | * rol32 - rotate a 32-bit value left | 35 | * rol32 - rotate a 32-bit value left |
36 | * | ||
37 | * @word: value to rotate | 36 | * @word: value to rotate |
38 | * @shift: bits to roll | 37 | * @shift: bits to roll |
39 | */ | 38 | */ |
@@ -42,9 +41,8 @@ static inline __u32 rol32(__u32 word, unsigned int shift) | |||
42 | return (word << shift) | (word >> (32 - shift)); | 41 | return (word << shift) | (word >> (32 - shift)); |
43 | } | 42 | } |
44 | 43 | ||
45 | /* | 44 | /** |
46 | * ror32 - rotate a 32-bit value right | 45 | * ror32 - rotate a 32-bit value right |
47 | * | ||
48 | * @word: value to rotate | 46 | * @word: value to rotate |
49 | * @shift: bits to roll | 47 | * @shift: bits to roll |
50 | */ | 48 | */ |
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index bc8b4616bad7..1be148f0fce4 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -46,6 +46,7 @@ enum kvm_exit_reason { | |||
46 | KVM_EXIT_HLT = 5, | 46 | KVM_EXIT_HLT = 5, |
47 | KVM_EXIT_MMIO = 6, | 47 | KVM_EXIT_MMIO = 6, |
48 | KVM_EXIT_IRQ_WINDOW_OPEN = 7, | 48 | KVM_EXIT_IRQ_WINDOW_OPEN = 7, |
49 | KVM_EXIT_SHUTDOWN = 8, | ||
49 | }; | 50 | }; |
50 | 51 | ||
51 | /* for KVM_RUN */ | 52 | /* for KVM_RUN */ |
diff --git a/include/linux/list.h b/include/linux/list.h index a9c90287c0ff..611059d633f4 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
@@ -227,13 +227,13 @@ static inline void list_replace_init(struct list_head *old, | |||
227 | INIT_LIST_HEAD(old); | 227 | INIT_LIST_HEAD(old); |
228 | } | 228 | } |
229 | 229 | ||
230 | /* | 230 | /** |
231 | * list_replace_rcu - replace old entry by new one | 231 | * list_replace_rcu - replace old entry by new one |
232 | * @old : the element to be replaced | 232 | * @old : the element to be replaced |
233 | * @new : the new element to insert | 233 | * @new : the new element to insert |
234 | * | 234 | * |
235 | * The old entry will be replaced with the new entry atomically. | 235 | * The @old entry will be replaced with the @new entry atomically. |
236 | * Note: 'old' should not be empty. | 236 | * Note: @old should not be empty. |
237 | */ | 237 | */ |
238 | static inline void list_replace_rcu(struct list_head *old, | 238 | static inline void list_replace_rcu(struct list_head *old, |
239 | struct list_head *new) | 239 | struct list_head *new) |
@@ -680,12 +680,12 @@ static inline void hlist_del_init(struct hlist_node *n) | |||
680 | } | 680 | } |
681 | } | 681 | } |
682 | 682 | ||
683 | /* | 683 | /** |
684 | * hlist_replace_rcu - replace old entry by new one | 684 | * hlist_replace_rcu - replace old entry by new one |
685 | * @old : the element to be replaced | 685 | * @old : the element to be replaced |
686 | * @new : the new element to insert | 686 | * @new : the new element to insert |
687 | * | 687 | * |
688 | * The old entry will be replaced with the new entry atomically. | 688 | * The @old entry will be replaced with the @new entry atomically. |
689 | */ | 689 | */ |
690 | static inline void hlist_replace_rcu(struct hlist_node *old, | 690 | static inline void hlist_replace_rcu(struct hlist_node *old, |
691 | struct hlist_node *new) | 691 | struct hlist_node *new) |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 76912231af41..2d2c08d5f473 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -168,6 +168,7 @@ extern unsigned int kobjsize(const void *objp); | |||
168 | #define VM_NONLINEAR 0x00800000 /* Is non-linear (remap_file_pages) */ | 168 | #define VM_NONLINEAR 0x00800000 /* Is non-linear (remap_file_pages) */ |
169 | #define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */ | 169 | #define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */ |
170 | #define VM_INSERTPAGE 0x02000000 /* The vma has had "vm_insert_page()" done on it */ | 170 | #define VM_INSERTPAGE 0x02000000 /* The vma has had "vm_insert_page()" done on it */ |
171 | #define VM_ALWAYSDUMP 0x04000000 /* Always include in core dumps */ | ||
171 | 172 | ||
172 | #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ | 173 | #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ |
173 | #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS | 174 | #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS |
diff --git a/include/linux/mutex.h b/include/linux/mutex.h index a7544afd7582..b81bc2adaeff 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h | |||
@@ -105,7 +105,7 @@ do { \ | |||
105 | extern void __mutex_init(struct mutex *lock, const char *name, | 105 | extern void __mutex_init(struct mutex *lock, const char *name, |
106 | struct lock_class_key *key); | 106 | struct lock_class_key *key); |
107 | 107 | ||
108 | /*** | 108 | /** |
109 | * mutex_is_locked - is the mutex locked | 109 | * mutex_is_locked - is the mutex locked |
110 | * @lock: the mutex to be queried | 110 | * @lock: the mutex to be queried |
111 | * | 111 | * |
diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h index 0727774772ba..4b7c4b568f6d 100644 --- a/include/linux/nfsd/nfsd.h +++ b/include/linux/nfsd/nfsd.h | |||
@@ -52,8 +52,6 @@ | |||
52 | struct readdir_cd { | 52 | struct readdir_cd { |
53 | __be32 err; /* 0, nfserr, or nfserr_eof */ | 53 | __be32 err; /* 0, nfserr, or nfserr_eof */ |
54 | }; | 54 | }; |
55 | typedef int (*encode_dent_fn)(struct readdir_cd *, const char *, | ||
56 | int, loff_t, ino_t, unsigned int); | ||
57 | typedef int (*nfsd_dirop_t)(struct inode *, struct dentry *, int, int); | 55 | typedef int (*nfsd_dirop_t)(struct inode *, struct dentry *, int, int); |
58 | 56 | ||
59 | extern struct svc_program nfsd_program; | 57 | extern struct svc_program nfsd_program; |
@@ -117,7 +115,7 @@ __be32 nfsd_unlink(struct svc_rqst *, struct svc_fh *, int type, | |||
117 | int nfsd_truncate(struct svc_rqst *, struct svc_fh *, | 115 | int nfsd_truncate(struct svc_rqst *, struct svc_fh *, |
118 | unsigned long size); | 116 | unsigned long size); |
119 | __be32 nfsd_readdir(struct svc_rqst *, struct svc_fh *, | 117 | __be32 nfsd_readdir(struct svc_rqst *, struct svc_fh *, |
120 | loff_t *, struct readdir_cd *, encode_dent_fn); | 118 | loff_t *, struct readdir_cd *, filldir_t); |
121 | __be32 nfsd_statfs(struct svc_rqst *, struct svc_fh *, | 119 | __be32 nfsd_statfs(struct svc_rqst *, struct svc_fh *, |
122 | struct kstatfs *); | 120 | struct kstatfs *); |
123 | 121 | ||
diff --git a/include/linux/nfsd/nfsfh.h b/include/linux/nfsd/nfsfh.h index f3b51d62ec7d..d9c6c382165d 100644 --- a/include/linux/nfsd/nfsfh.h +++ b/include/linux/nfsd/nfsfh.h | |||
@@ -217,11 +217,7 @@ void fh_put(struct svc_fh *); | |||
217 | static __inline__ struct svc_fh * | 217 | static __inline__ struct svc_fh * |
218 | fh_copy(struct svc_fh *dst, struct svc_fh *src) | 218 | fh_copy(struct svc_fh *dst, struct svc_fh *src) |
219 | { | 219 | { |
220 | if (src->fh_dentry || src->fh_locked) { | 220 | WARN_ON(src->fh_dentry || src->fh_locked); |
221 | struct dentry *dentry = src->fh_dentry; | ||
222 | printk(KERN_ERR "fh_copy: copying %s/%s, already verified!\n", | ||
223 | dentry->d_parent->d_name.name, dentry->d_name.name); | ||
224 | } | ||
225 | 221 | ||
226 | *dst = *src; | 222 | *dst = *src; |
227 | return dst; | 223 | return dst; |
@@ -300,10 +296,8 @@ fh_lock_nested(struct svc_fh *fhp, unsigned int subclass) | |||
300 | dfprintk(FILEOP, "nfsd: fh_lock(%s) locked = %d\n", | 296 | dfprintk(FILEOP, "nfsd: fh_lock(%s) locked = %d\n", |
301 | SVCFH_fmt(fhp), fhp->fh_locked); | 297 | SVCFH_fmt(fhp), fhp->fh_locked); |
302 | 298 | ||
303 | if (!fhp->fh_dentry) { | 299 | BUG_ON(!dentry); |
304 | printk(KERN_ERR "fh_lock: fh not verified!\n"); | 300 | |
305 | return; | ||
306 | } | ||
307 | if (fhp->fh_locked) { | 301 | if (fhp->fh_locked) { |
308 | printk(KERN_WARNING "fh_lock: %s/%s already locked!\n", | 302 | printk(KERN_WARNING "fh_lock: %s/%s already locked!\n", |
309 | dentry->d_parent->d_name.name, dentry->d_name.name); | 303 | dentry->d_parent->d_name.name, dentry->d_name.name); |
@@ -328,8 +322,7 @@ fh_lock(struct svc_fh *fhp) | |||
328 | static inline void | 322 | static inline void |
329 | fh_unlock(struct svc_fh *fhp) | 323 | fh_unlock(struct svc_fh *fhp) |
330 | { | 324 | { |
331 | if (!fhp->fh_dentry) | 325 | BUG_ON(!fhp->fh_dentry); |
332 | printk(KERN_ERR "fh_unlock: fh not verified!\n"); | ||
333 | 326 | ||
334 | if (fhp->fh_locked) { | 327 | if (fhp->fh_locked) { |
335 | fill_post_wcc(fhp); | 328 | fill_post_wcc(fhp); |
diff --git a/include/linux/nfsd/xdr.h b/include/linux/nfsd/xdr.h index 877192d3ae79..67885d5e6e50 100644 --- a/include/linux/nfsd/xdr.h +++ b/include/linux/nfsd/xdr.h | |||
@@ -165,8 +165,8 @@ int nfssvc_encode_readres(struct svc_rqst *, __be32 *, struct nfsd_readres *); | |||
165 | int nfssvc_encode_statfsres(struct svc_rqst *, __be32 *, struct nfsd_statfsres *); | 165 | int nfssvc_encode_statfsres(struct svc_rqst *, __be32 *, struct nfsd_statfsres *); |
166 | int nfssvc_encode_readdirres(struct svc_rqst *, __be32 *, struct nfsd_readdirres *); | 166 | int nfssvc_encode_readdirres(struct svc_rqst *, __be32 *, struct nfsd_readdirres *); |
167 | 167 | ||
168 | int nfssvc_encode_entry(struct readdir_cd *, const char *name, | 168 | int nfssvc_encode_entry(void *, const char *name, |
169 | int namlen, loff_t offset, ino_t ino, unsigned int); | 169 | int namlen, loff_t offset, u64 ino, unsigned int); |
170 | 170 | ||
171 | int nfssvc_release_fhandle(struct svc_rqst *, __be32 *, struct nfsd_fhandle *); | 171 | int nfssvc_release_fhandle(struct svc_rqst *, __be32 *, struct nfsd_fhandle *); |
172 | 172 | ||
diff --git a/include/linux/nfsd/xdr3.h b/include/linux/nfsd/xdr3.h index 79963867b0d7..89d9d6061a62 100644 --- a/include/linux/nfsd/xdr3.h +++ b/include/linux/nfsd/xdr3.h | |||
@@ -331,11 +331,11 @@ int nfs3svc_release_fhandle(struct svc_rqst *, __be32 *, | |||
331 | struct nfsd3_attrstat *); | 331 | struct nfsd3_attrstat *); |
332 | int nfs3svc_release_fhandle2(struct svc_rqst *, __be32 *, | 332 | int nfs3svc_release_fhandle2(struct svc_rqst *, __be32 *, |
333 | struct nfsd3_fhandle_pair *); | 333 | struct nfsd3_fhandle_pair *); |
334 | int nfs3svc_encode_entry(struct readdir_cd *, const char *name, | 334 | int nfs3svc_encode_entry(void *, const char *name, |
335 | int namlen, loff_t offset, ino_t ino, | 335 | int namlen, loff_t offset, u64 ino, |
336 | unsigned int); | 336 | unsigned int); |
337 | int nfs3svc_encode_entry_plus(struct readdir_cd *, const char *name, | 337 | int nfs3svc_encode_entry_plus(void *, const char *name, |
338 | int namlen, loff_t offset, ino_t ino, | 338 | int namlen, loff_t offset, u64 ino, |
339 | unsigned int); | 339 | unsigned int); |
340 | /* Helper functions for NFSv3 ACL code */ | 340 | /* Helper functions for NFSv3 ACL code */ |
341 | __be32 *nfs3svc_encode_post_op_attr(struct svc_rqst *rqstp, __be32 *p, | 341 | __be32 *nfs3svc_encode_post_op_attr(struct svc_rqst *rqstp, __be32 *p, |
diff --git a/include/linux/raid/md.h b/include/linux/raid/md.h index 866a1e2b0ce0..fbaeda79b2e9 100644 --- a/include/linux/raid/md.h +++ b/include/linux/raid/md.h | |||
@@ -94,7 +94,7 @@ extern int sync_page_io(struct block_device *bdev, sector_t sector, int size, | |||
94 | struct page *page, int rw); | 94 | struct page *page, int rw); |
95 | extern void md_do_sync(mddev_t *mddev); | 95 | extern void md_do_sync(mddev_t *mddev); |
96 | extern void md_new_event(mddev_t *mddev); | 96 | extern void md_new_event(mddev_t *mddev); |
97 | 97 | extern void md_allow_write(mddev_t *mddev); | |
98 | 98 | ||
99 | #endif /* CONFIG_MD */ | 99 | #endif /* CONFIG_MD */ |
100 | #endif | 100 | #endif |
diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h index b0090e9f7884..382bb7951166 100644 --- a/include/linux/rtmutex.h +++ b/include/linux/rtmutex.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <linux/plist.h> | 16 | #include <linux/plist.h> |
17 | #include <linux/spinlock_types.h> | 17 | #include <linux/spinlock_types.h> |
18 | 18 | ||
19 | /* | 19 | /** |
20 | * The rt_mutex structure | 20 | * The rt_mutex structure |
21 | * | 21 | * |
22 | * @wait_lock: spinlock to protect the structure | 22 | * @wait_lock: spinlock to protect the structure |
@@ -71,7 +71,7 @@ struct hrtimer_sleeper; | |||
71 | #define DEFINE_RT_MUTEX(mutexname) \ | 71 | #define DEFINE_RT_MUTEX(mutexname) \ |
72 | struct rt_mutex mutexname = __RT_MUTEX_INITIALIZER(mutexname) | 72 | struct rt_mutex mutexname = __RT_MUTEX_INITIALIZER(mutexname) |
73 | 73 | ||
74 | /*** | 74 | /** |
75 | * rt_mutex_is_locked - is the mutex locked | 75 | * rt_mutex_is_locked - is the mutex locked |
76 | * @lock: the mutex to be queried | 76 | * @lock: the mutex to be queried |
77 | * | 77 | * |
diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h index 965d6c20086e..64f3d60c72af 100644 --- a/include/linux/sunrpc/svc.h +++ b/include/linux/sunrpc/svc.h | |||
@@ -144,8 +144,11 @@ extern u32 svc_max_payload(const struct svc_rqst *rqstp); | |||
144 | * | 144 | * |
145 | * Each request/reply pair can have at most one "payload", plus two pages, | 145 | * Each request/reply pair can have at most one "payload", plus two pages, |
146 | * one for the request, and one for the reply. | 146 | * one for the request, and one for the reply. |
147 | * We using ->sendfile to return read data, we might need one extra page | ||
148 | * if the request is not page-aligned. So add another '1'. | ||
147 | */ | 149 | */ |
148 | #define RPCSVC_MAXPAGES ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE + 2) | 150 | #define RPCSVC_MAXPAGES ((RPCSVC_MAXPAYLOAD+PAGE_SIZE-1)/PAGE_SIZE \ |
151 | + 2 + 1) | ||
149 | 152 | ||
150 | static inline u32 svc_getnl(struct kvec *iov) | 153 | static inline u32 svc_getnl(struct kvec *iov) |
151 | { | 154 | { |
diff --git a/include/linux/timer.h b/include/linux/timer.h index eeef6643d4c6..fb5edaaf0ebd 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h | |||
@@ -41,7 +41,7 @@ static inline void setup_timer(struct timer_list * timer, | |||
41 | init_timer(timer); | 41 | init_timer(timer); |
42 | } | 42 | } |
43 | 43 | ||
44 | /*** | 44 | /** |
45 | * timer_pending - is a timer pending? | 45 | * timer_pending - is a timer pending? |
46 | * @timer: the timer in question | 46 | * @timer: the timer in question |
47 | * | 47 | * |
@@ -63,7 +63,7 @@ extern int mod_timer(struct timer_list *timer, unsigned long expires); | |||
63 | 63 | ||
64 | extern unsigned long next_timer_interrupt(void); | 64 | extern unsigned long next_timer_interrupt(void); |
65 | 65 | ||
66 | /*** | 66 | /** |
67 | * add_timer - start a timer | 67 | * add_timer - start a timer |
68 | * @timer: the timer to be added | 68 | * @timer: the timer to be added |
69 | * | 69 | * |