diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/bio.h | 4 | ||||
-rw-r--r-- | include/linux/compiler-gcc.h | 10 | ||||
-rw-r--r-- | include/linux/ftrace.h | 1 | ||||
-rw-r--r-- | include/linux/ide.h | 1 | ||||
-rw-r--r-- | include/linux/interrupt.h | 5 | ||||
-rw-r--r-- | include/linux/kernel.h | 40 | ||||
-rw-r--r-- | include/linux/lockd/lockd.h | 8 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 2 | ||||
-rw-r--r-- | include/linux/nfsacl.h | 3 |
9 files changed, 57 insertions, 17 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index 1b16108a5417..d8bd43bfdcf5 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -531,7 +531,7 @@ extern void bio_integrity_endio(struct bio *, int); | |||
531 | extern void bio_integrity_advance(struct bio *, unsigned int); | 531 | extern void bio_integrity_advance(struct bio *, unsigned int); |
532 | extern void bio_integrity_trim(struct bio *, unsigned int, unsigned int); | 532 | extern void bio_integrity_trim(struct bio *, unsigned int, unsigned int); |
533 | extern void bio_integrity_split(struct bio *, struct bio_pair *, int); | 533 | extern void bio_integrity_split(struct bio *, struct bio_pair *, int); |
534 | extern int bio_integrity_clone(struct bio *, struct bio *, struct bio_set *); | 534 | extern int bio_integrity_clone(struct bio *, struct bio *, gfp_t, struct bio_set *); |
535 | extern int bioset_integrity_create(struct bio_set *, int); | 535 | extern int bioset_integrity_create(struct bio_set *, int); |
536 | extern void bioset_integrity_free(struct bio_set *); | 536 | extern void bioset_integrity_free(struct bio_set *); |
537 | extern void bio_integrity_init_slab(void); | 537 | extern void bio_integrity_init_slab(void); |
@@ -542,7 +542,7 @@ extern void bio_integrity_init_slab(void); | |||
542 | #define bioset_integrity_create(a, b) (0) | 542 | #define bioset_integrity_create(a, b) (0) |
543 | #define bio_integrity_prep(a) (0) | 543 | #define bio_integrity_prep(a) (0) |
544 | #define bio_integrity_enabled(a) (0) | 544 | #define bio_integrity_enabled(a) (0) |
545 | #define bio_integrity_clone(a, b, c) (0) | 545 | #define bio_integrity_clone(a, b, c,d ) (0) |
546 | #define bioset_integrity_free(a) do { } while (0) | 546 | #define bioset_integrity_free(a) do { } while (0) |
547 | #define bio_integrity_free(a, b) do { } while (0) | 547 | #define bio_integrity_free(a, b) do { } while (0) |
548 | #define bio_integrity_endio(a, b) do { } while (0) | 548 | #define bio_integrity_endio(a, b) do { } while (0) |
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index 1514d534deeb..a3ed7cb8ca34 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
@@ -52,7 +52,15 @@ | |||
52 | #define __deprecated __attribute__((deprecated)) | 52 | #define __deprecated __attribute__((deprecated)) |
53 | #define __packed __attribute__((packed)) | 53 | #define __packed __attribute__((packed)) |
54 | #define __weak __attribute__((weak)) | 54 | #define __weak __attribute__((weak)) |
55 | #define __naked __attribute__((naked)) | 55 | |
56 | /* | ||
57 | * it doesn't make sense on ARM (currently the only user of __naked) to trace | ||
58 | * naked functions because then mcount is called without stack and frame pointer | ||
59 | * being set up and there is no chance to restore the lr register to the value | ||
60 | * before mcount was called. | ||
61 | */ | ||
62 | #define __naked __attribute__((naked)) notrace | ||
63 | |||
56 | #define __noreturn __attribute__((noreturn)) | 64 | #define __noreturn __attribute__((noreturn)) |
57 | 65 | ||
58 | /* | 66 | /* |
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 6dc1c652447e..db3fed630db3 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
@@ -145,7 +145,6 @@ enum { | |||
145 | }; | 145 | }; |
146 | 146 | ||
147 | struct dyn_ftrace { | 147 | struct dyn_ftrace { |
148 | struct list_head list; | ||
149 | unsigned long ip; /* address of mcount call-site */ | 148 | unsigned long ip; /* address of mcount call-site */ |
150 | unsigned long flags; | 149 | unsigned long flags; |
151 | struct dyn_arch_ftrace arch; | 150 | struct dyn_arch_ftrace arch; |
diff --git a/include/linux/ide.h b/include/linux/ide.h index e0cedfe9fad4..25087aead657 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -797,6 +797,7 @@ typedef struct hwif_s { | |||
797 | struct scatterlist *sg_table; | 797 | struct scatterlist *sg_table; |
798 | int sg_max_nents; /* Maximum number of entries in it */ | 798 | int sg_max_nents; /* Maximum number of entries in it */ |
799 | int sg_nents; /* Current number of entries in it */ | 799 | int sg_nents; /* Current number of entries in it */ |
800 | int orig_sg_nents; | ||
800 | int sg_dma_direction; /* dma transfer direction */ | 801 | int sg_dma_direction; /* dma transfer direction */ |
801 | 802 | ||
802 | /* data phase of the active command (currently only valid for PIO/DMA) */ | 803 | /* data phase of the active command (currently only valid for PIO/DMA) */ |
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 472f11765f60..9b7e9d743476 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -258,6 +258,11 @@ enum | |||
258 | NR_SOFTIRQS | 258 | NR_SOFTIRQS |
259 | }; | 259 | }; |
260 | 260 | ||
261 | /* map softirq index to softirq name. update 'softirq_to_name' in | ||
262 | * kernel/softirq.c when adding a new softirq. | ||
263 | */ | ||
264 | extern char *softirq_to_name[NR_SOFTIRQS]; | ||
265 | |||
261 | /* softirq mask and active fields moved to irq_cpustat_t in | 266 | /* softirq mask and active fields moved to irq_cpustat_t in |
262 | * asm/hardirq.h to get better cache usage. KAO | 267 | * asm/hardirq.h to get better cache usage. KAO |
263 | */ | 268 | */ |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 7742798c9208..1daca3b062bb 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -452,32 +452,46 @@ do { \ | |||
452 | 452 | ||
453 | #define trace_printk(fmt, args...) \ | 453 | #define trace_printk(fmt, args...) \ |
454 | do { \ | 454 | do { \ |
455 | static const char *trace_printk_fmt \ | ||
456 | __attribute__((section("__trace_printk_fmt"))); \ | ||
457 | \ | ||
458 | if (!trace_printk_fmt) \ | ||
459 | trace_printk_fmt = fmt; \ | ||
460 | \ | ||
461 | __trace_printk_check_format(fmt, ##args); \ | 455 | __trace_printk_check_format(fmt, ##args); \ |
462 | __trace_printk(_THIS_IP_, trace_printk_fmt, ##args); \ | 456 | if (__builtin_constant_p(fmt)) { \ |
457 | static const char *trace_printk_fmt \ | ||
458 | __attribute__((section("__trace_printk_fmt"))) = \ | ||
459 | __builtin_constant_p(fmt) ? fmt : NULL; \ | ||
460 | \ | ||
461 | __trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args); \ | ||
462 | } else \ | ||
463 | __trace_printk(_THIS_IP_, fmt, ##args); \ | ||
463 | } while (0) | 464 | } while (0) |
464 | 465 | ||
465 | extern int | 466 | extern int |
467 | __trace_bprintk(unsigned long ip, const char *fmt, ...) | ||
468 | __attribute__ ((format (printf, 2, 3))); | ||
469 | |||
470 | extern int | ||
466 | __trace_printk(unsigned long ip, const char *fmt, ...) | 471 | __trace_printk(unsigned long ip, const char *fmt, ...) |
467 | __attribute__ ((format (printf, 2, 3))); | 472 | __attribute__ ((format (printf, 2, 3))); |
468 | 473 | ||
474 | /* | ||
475 | * The double __builtin_constant_p is because gcc will give us an error | ||
476 | * if we try to allocate the static variable to fmt if it is not a | ||
477 | * constant. Even with the outer if statement. | ||
478 | */ | ||
469 | #define ftrace_vprintk(fmt, vargs) \ | 479 | #define ftrace_vprintk(fmt, vargs) \ |
470 | do { \ | 480 | do { \ |
471 | static const char *trace_printk_fmt \ | 481 | if (__builtin_constant_p(fmt)) { \ |
472 | __attribute__((section("__trace_printk_fmt"))); \ | 482 | static const char *trace_printk_fmt \ |
473 | \ | 483 | __attribute__((section("__trace_printk_fmt"))) = \ |
474 | if (!trace_printk_fmt) \ | 484 | __builtin_constant_p(fmt) ? fmt : NULL; \ |
475 | trace_printk_fmt = fmt; \ | ||
476 | \ | 485 | \ |
477 | __ftrace_vprintk(_THIS_IP_, trace_printk_fmt, vargs); \ | 486 | __ftrace_vbprintk(_THIS_IP_, trace_printk_fmt, vargs); \ |
487 | } else \ | ||
488 | __ftrace_vprintk(_THIS_IP_, fmt, vargs); \ | ||
478 | } while (0) | 489 | } while (0) |
479 | 490 | ||
480 | extern int | 491 | extern int |
492 | __ftrace_vbprintk(unsigned long ip, const char *fmt, va_list ap); | ||
493 | |||
494 | extern int | ||
481 | __ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap); | 495 | __ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap); |
482 | 496 | ||
483 | extern void ftrace_dump(void); | 497 | extern void ftrace_dump(void); |
diff --git a/include/linux/lockd/lockd.h b/include/linux/lockd/lockd.h index aa6fe7026de7..51855dfd8adb 100644 --- a/include/linux/lockd/lockd.h +++ b/include/linux/lockd/lockd.h | |||
@@ -346,6 +346,7 @@ static inline int __nlm_cmp_addr4(const struct sockaddr *sap1, | |||
346 | return sin1->sin_addr.s_addr == sin2->sin_addr.s_addr; | 346 | return sin1->sin_addr.s_addr == sin2->sin_addr.s_addr; |
347 | } | 347 | } |
348 | 348 | ||
349 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | ||
349 | static inline int __nlm_cmp_addr6(const struct sockaddr *sap1, | 350 | static inline int __nlm_cmp_addr6(const struct sockaddr *sap1, |
350 | const struct sockaddr *sap2) | 351 | const struct sockaddr *sap2) |
351 | { | 352 | { |
@@ -353,6 +354,13 @@ static inline int __nlm_cmp_addr6(const struct sockaddr *sap1, | |||
353 | const struct sockaddr_in6 *sin2 = (const struct sockaddr_in6 *)sap2; | 354 | const struct sockaddr_in6 *sin2 = (const struct sockaddr_in6 *)sap2; |
354 | return ipv6_addr_equal(&sin1->sin6_addr, &sin2->sin6_addr); | 355 | return ipv6_addr_equal(&sin1->sin6_addr, &sin2->sin6_addr); |
355 | } | 356 | } |
357 | #else /* !(CONFIG_IPV6 || CONFIG_IPV6_MODULE) */ | ||
358 | static inline int __nlm_cmp_addr6(const struct sockaddr *sap1, | ||
359 | const struct sockaddr *sap2) | ||
360 | { | ||
361 | return 0; | ||
362 | } | ||
363 | #endif /* !(CONFIG_IPV6 || CONFIG_IPV6_MODULE) */ | ||
356 | 364 | ||
357 | /* | 365 | /* |
358 | * Compare two host addresses | 366 | * Compare two host addresses |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index a550b528319f..2e5f00066afd 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -406,6 +406,8 @@ struct nfs3_setaclargs { | |||
406 | int mask; | 406 | int mask; |
407 | struct posix_acl * acl_access; | 407 | struct posix_acl * acl_access; |
408 | struct posix_acl * acl_default; | 408 | struct posix_acl * acl_default; |
409 | size_t len; | ||
410 | unsigned int npages; | ||
409 | struct page ** pages; | 411 | struct page ** pages; |
410 | }; | 412 | }; |
411 | 413 | ||
diff --git a/include/linux/nfsacl.h b/include/linux/nfsacl.h index 54487a99beb8..43011b69297c 100644 --- a/include/linux/nfsacl.h +++ b/include/linux/nfsacl.h | |||
@@ -37,6 +37,9 @@ | |||
37 | #define NFSACL_MAXPAGES ((2*(8+12*NFS_ACL_MAX_ENTRIES) + PAGE_SIZE-1) \ | 37 | #define NFSACL_MAXPAGES ((2*(8+12*NFS_ACL_MAX_ENTRIES) + PAGE_SIZE-1) \ |
38 | >> PAGE_SHIFT) | 38 | >> PAGE_SHIFT) |
39 | 39 | ||
40 | #define NFS_ACL_MAX_ENTRIES_INLINE (5) | ||
41 | #define NFS_ACL_INLINE_BUFSIZE ((2*(2+3*NFS_ACL_MAX_ENTRIES_INLINE)) << 2) | ||
42 | |||
40 | static inline unsigned int | 43 | static inline unsigned int |
41 | nfsacl_size(struct posix_acl *acl_access, struct posix_acl *acl_default) | 44 | nfsacl_size(struct posix_acl *acl_access, struct posix_acl *acl_default) |
42 | { | 45 | { |