diff options
| author | David S. Miller <davem@davemloft.net> | 2013-04-22 20:32:51 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-04-22 20:32:51 -0400 |
| commit | 6e0895c2ea326cc4bb11e8fa2f654628d5754c31 (patch) | |
| tree | 7089303ac11a12edc43a8c4fa1b23974e10937ea /include | |
| parent | 55fbbe46e9eb3cbe6c335503f5550855a1128dce (diff) | |
| parent | 60d509fa6a9c4653a86ad830e4c4b30360b23f0e (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/emulex/benet/be_main.c
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
include/net/scm.h
net/batman-adv/routing.c
net/ipv4/tcp_input.c
The e{uid,gid} --> {uid,gid} credentials fix conflicted with the
cleanup in net-next to now pass cred structs around.
The be2net driver had a bug fix in 'net' that overlapped with the VLAN
interface changes by Patrick McHardy in net-next.
An IGB conflict existed because in 'net' the build_skb() support was
reverted, and in 'net-next' there was a comment style fix within that
code.
Several batman-adv conflicts were resolved by making sure that all
calls to batadv_is_my_mac() are changed to have a new bat_priv first
argument.
Eric Dumazet's TS ECR fix in TCP in 'net' conflicted with the F-RTO
rewrite in 'net-next', mostly overlapping changes.
Thanks to Stephen Rothwell and Antonio Quartulli for help with several
of these merge resolutions.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
28 files changed, 351 insertions, 261 deletions
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index 25f01d0bc149..b1b1fa6ffffe 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h | |||
| @@ -99,7 +99,12 @@ struct mmu_gather { | |||
| 99 | unsigned int need_flush : 1, /* Did free PTEs */ | 99 | unsigned int need_flush : 1, /* Did free PTEs */ |
| 100 | fast_mode : 1; /* No batching */ | 100 | fast_mode : 1; /* No batching */ |
| 101 | 101 | ||
| 102 | unsigned int fullmm; | 102 | /* we are in the middle of an operation to clear |
| 103 | * a full mm and can make some optimizations */ | ||
| 104 | unsigned int fullmm : 1, | ||
| 105 | /* we have performed an operation which | ||
| 106 | * requires a complete flush of the tlb */ | ||
| 107 | need_flush_all : 1; | ||
| 103 | 108 | ||
| 104 | struct mmu_gather_batch *active; | 109 | struct mmu_gather_batch *active; |
| 105 | struct mmu_gather_batch local; | 110 | struct mmu_gather_batch local; |
diff --git a/include/linux/ata.h b/include/linux/ata.h index 8f7a3d68371a..ee0bd9524055 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h | |||
| @@ -954,7 +954,7 @@ static inline int atapi_cdb_len(const u16 *dev_id) | |||
| 954 | } | 954 | } |
| 955 | } | 955 | } |
| 956 | 956 | ||
| 957 | static inline bool atapi_command_packet_set(const u16 *dev_id) | 957 | static inline int atapi_command_packet_set(const u16 *dev_id) |
| 958 | { | 958 | { |
| 959 | return (dev_id[ATA_ID_CONFIG] >> 8) & 0x1f; | 959 | return (dev_id[ATA_ID_CONFIG] >> 8) & 0x1f; |
| 960 | } | 960 | } |
diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h index 0ea61e07a91c..7c2e030e72f1 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | 12 | ||
| 13 | struct blk_trace { | 13 | struct blk_trace { |
| 14 | int trace_state; | 14 | int trace_state; |
| 15 | bool rq_based; | ||
| 16 | struct rchan *rchan; | 15 | struct rchan *rchan; |
| 17 | unsigned long __percpu *sequence; | 16 | unsigned long __percpu *sequence; |
| 18 | unsigned char __percpu *msg_data; | 17 | unsigned char __percpu *msg_data; |
diff --git a/include/linux/capability.h b/include/linux/capability.h index 98503b792369..d9a4f7f40f32 100644 --- a/include/linux/capability.h +++ b/include/linux/capability.h | |||
| @@ -35,6 +35,7 @@ struct cpu_vfs_cap_data { | |||
| 35 | #define _KERNEL_CAP_T_SIZE (sizeof(kernel_cap_t)) | 35 | #define _KERNEL_CAP_T_SIZE (sizeof(kernel_cap_t)) |
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | struct file; | ||
| 38 | struct inode; | 39 | struct inode; |
| 39 | struct dentry; | 40 | struct dentry; |
| 40 | struct user_namespace; | 41 | struct user_namespace; |
| @@ -211,6 +212,7 @@ extern bool capable(int cap); | |||
| 211 | extern bool ns_capable(struct user_namespace *ns, int cap); | 212 | extern bool ns_capable(struct user_namespace *ns, int cap); |
| 212 | extern bool nsown_capable(int cap); | 213 | extern bool nsown_capable(int cap); |
| 213 | extern bool inode_capable(const struct inode *inode, int cap); | 214 | extern bool inode_capable(const struct inode *inode, int cap); |
| 215 | extern bool file_ns_capable(const struct file *file, struct user_namespace *ns, int cap); | ||
| 214 | 216 | ||
| 215 | /* audit system wants to get cap info from files as well */ | 217 | /* audit system wants to get cap info from files as well */ |
| 216 | extern int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data *cpu_caps); | 218 | extern int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data *cpu_caps); |
diff --git a/include/linux/efi.h b/include/linux/efi.h index 9bf2f1fcae27..3d7df3d32c66 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
| @@ -333,6 +333,7 @@ typedef efi_status_t efi_query_capsule_caps_t(efi_capsule_header_t **capsules, | |||
| 333 | unsigned long count, | 333 | unsigned long count, |
| 334 | u64 *max_size, | 334 | u64 *max_size, |
| 335 | int *reset_type); | 335 | int *reset_type); |
| 336 | typedef efi_status_t efi_query_variable_store_t(u32 attributes, unsigned long size); | ||
| 336 | 337 | ||
| 337 | /* | 338 | /* |
| 338 | * EFI Configuration Table and GUID definitions | 339 | * EFI Configuration Table and GUID definitions |
| @@ -575,9 +576,15 @@ extern void efi_enter_virtual_mode (void); /* switch EFI to virtual mode, if pos | |||
| 575 | #ifdef CONFIG_X86 | 576 | #ifdef CONFIG_X86 |
| 576 | extern void efi_late_init(void); | 577 | extern void efi_late_init(void); |
| 577 | extern void efi_free_boot_services(void); | 578 | extern void efi_free_boot_services(void); |
| 579 | extern efi_status_t efi_query_variable_store(u32 attributes, unsigned long size); | ||
| 578 | #else | 580 | #else |
| 579 | static inline void efi_late_init(void) {} | 581 | static inline void efi_late_init(void) {} |
| 580 | static inline void efi_free_boot_services(void) {} | 582 | static inline void efi_free_boot_services(void) {} |
| 583 | |||
| 584 | static inline efi_status_t efi_query_variable_store(u32 attributes, unsigned long size) | ||
| 585 | { | ||
| 586 | return EFI_SUCCESS; | ||
| 587 | } | ||
| 581 | #endif | 588 | #endif |
| 582 | extern void __iomem *efi_lookup_mapped_addr(u64 phys_addr); | 589 | extern void __iomem *efi_lookup_mapped_addr(u64 phys_addr); |
| 583 | extern u64 efi_get_iobase (void); | 590 | extern u64 efi_get_iobase (void); |
| @@ -731,7 +738,7 @@ struct efivar_operations { | |||
| 731 | efi_get_variable_t *get_variable; | 738 | efi_get_variable_t *get_variable; |
| 732 | efi_get_next_variable_t *get_next_variable; | 739 | efi_get_next_variable_t *get_next_variable; |
| 733 | efi_set_variable_t *set_variable; | 740 | efi_set_variable_t *set_variable; |
| 734 | efi_query_variable_info_t *query_variable_info; | 741 | efi_query_variable_store_t *query_variable_store; |
| 735 | }; | 742 | }; |
| 736 | 743 | ||
| 737 | struct efivars { | 744 | struct efivars { |
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index e5ca8ef50e9b..52da2a250795 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
| @@ -89,6 +89,7 @@ typedef void (*ftrace_func_t)(unsigned long ip, unsigned long parent_ip, | |||
| 89 | * that the call back has its own recursion protection. If it does | 89 | * that the call back has its own recursion protection. If it does |
| 90 | * not set this, then the ftrace infrastructure will add recursion | 90 | * not set this, then the ftrace infrastructure will add recursion |
| 91 | * protection for the caller. | 91 | * protection for the caller. |
| 92 | * STUB - The ftrace_ops is just a place holder. | ||
| 92 | */ | 93 | */ |
| 93 | enum { | 94 | enum { |
| 94 | FTRACE_OPS_FL_ENABLED = 1 << 0, | 95 | FTRACE_OPS_FL_ENABLED = 1 << 0, |
| @@ -98,6 +99,7 @@ enum { | |||
| 98 | FTRACE_OPS_FL_SAVE_REGS = 1 << 4, | 99 | FTRACE_OPS_FL_SAVE_REGS = 1 << 4, |
| 99 | FTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED = 1 << 5, | 100 | FTRACE_OPS_FL_SAVE_REGS_IF_SUPPORTED = 1 << 5, |
| 100 | FTRACE_OPS_FL_RECURSION_SAFE = 1 << 6, | 101 | FTRACE_OPS_FL_RECURSION_SAFE = 1 << 6, |
| 102 | FTRACE_OPS_FL_STUB = 1 << 7, | ||
| 101 | }; | 103 | }; |
| 102 | 104 | ||
| 103 | struct ftrace_ops { | 105 | struct ftrace_ops { |
| @@ -394,7 +396,6 @@ ssize_t ftrace_filter_write(struct file *file, const char __user *ubuf, | |||
| 394 | size_t cnt, loff_t *ppos); | 396 | size_t cnt, loff_t *ppos); |
| 395 | ssize_t ftrace_notrace_write(struct file *file, const char __user *ubuf, | 397 | ssize_t ftrace_notrace_write(struct file *file, const char __user *ubuf, |
| 396 | size_t cnt, loff_t *ppos); | 398 | size_t cnt, loff_t *ppos); |
| 397 | loff_t ftrace_regex_lseek(struct file *file, loff_t offset, int whence); | ||
| 398 | int ftrace_regex_release(struct inode *inode, struct file *file); | 399 | int ftrace_regex_release(struct inode *inode, struct file *file); |
| 399 | 400 | ||
| 400 | void __init | 401 | void __init |
| @@ -567,6 +568,8 @@ static inline int | |||
| 567 | ftrace_regex_release(struct inode *inode, struct file *file) { return -ENODEV; } | 568 | ftrace_regex_release(struct inode *inode, struct file *file) { return -ENODEV; } |
| 568 | #endif /* CONFIG_DYNAMIC_FTRACE */ | 569 | #endif /* CONFIG_DYNAMIC_FTRACE */ |
| 569 | 570 | ||
| 571 | loff_t ftrace_filter_lseek(struct file *file, loff_t offset, int whence); | ||
| 572 | |||
| 570 | /* totally disable ftrace - can not re-enable after this */ | 573 | /* totally disable ftrace - can not re-enable after this */ |
| 571 | void ftrace_kill(void); | 574 | void ftrace_kill(void); |
| 572 | 575 | ||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index d2e6927bbaae..d78d28a733b1 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
| @@ -200,6 +200,8 @@ extern size_t vmcoreinfo_max_size; | |||
| 200 | 200 | ||
| 201 | int __init parse_crashkernel(char *cmdline, unsigned long long system_ram, | 201 | int __init parse_crashkernel(char *cmdline, unsigned long long system_ram, |
| 202 | unsigned long long *crash_size, unsigned long long *crash_base); | 202 | unsigned long long *crash_size, unsigned long long *crash_base); |
| 203 | int parse_crashkernel_high(char *cmdline, unsigned long long system_ram, | ||
| 204 | unsigned long long *crash_size, unsigned long long *crash_base); | ||
| 203 | int parse_crashkernel_low(char *cmdline, unsigned long long system_ram, | 205 | int parse_crashkernel_low(char *cmdline, unsigned long long system_ram, |
| 204 | unsigned long long *crash_size, unsigned long long *crash_base); | 206 | unsigned long long *crash_size, unsigned long long *crash_base); |
| 205 | int crash_shrink_memory(unsigned long new_size); | 207 | int crash_shrink_memory(unsigned long new_size); |
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index cad77fe09d77..c13958251927 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h | |||
| @@ -518,7 +518,7 @@ int kvm_write_guest(struct kvm *kvm, gpa_t gpa, const void *data, | |||
| 518 | int kvm_write_guest_cached(struct kvm *kvm, struct gfn_to_hva_cache *ghc, | 518 | int kvm_write_guest_cached(struct kvm *kvm, struct gfn_to_hva_cache *ghc, |
| 519 | void *data, unsigned long len); | 519 | void *data, unsigned long len); |
| 520 | int kvm_gfn_to_hva_cache_init(struct kvm *kvm, struct gfn_to_hva_cache *ghc, | 520 | int kvm_gfn_to_hva_cache_init(struct kvm *kvm, struct gfn_to_hva_cache *ghc, |
| 521 | gpa_t gpa); | 521 | gpa_t gpa, unsigned long len); |
| 522 | int kvm_clear_guest_page(struct kvm *kvm, gfn_t gfn, int offset, int len); | 522 | int kvm_clear_guest_page(struct kvm *kvm, gfn_t gfn, int offset, int len); |
| 523 | int kvm_clear_guest(struct kvm *kvm, gpa_t gpa, unsigned long len); | 523 | int kvm_clear_guest(struct kvm *kvm, gpa_t gpa, unsigned long len); |
| 524 | struct kvm_memory_slot *gfn_to_memslot(struct kvm *kvm, gfn_t gfn); | 524 | struct kvm_memory_slot *gfn_to_memslot(struct kvm *kvm, gfn_t gfn); |
diff --git a/include/linux/kvm_types.h b/include/linux/kvm_types.h index fa7cc7244cbd..b0bcce0ddc95 100644 --- a/include/linux/kvm_types.h +++ b/include/linux/kvm_types.h | |||
| @@ -71,6 +71,7 @@ struct gfn_to_hva_cache { | |||
| 71 | u64 generation; | 71 | u64 generation; |
| 72 | gpa_t gpa; | 72 | gpa_t gpa; |
| 73 | unsigned long hva; | 73 | unsigned long hva; |
| 74 | unsigned long len; | ||
| 74 | struct kvm_memory_slot *memslot; | 75 | struct kvm_memory_slot *memslot; |
| 75 | }; | 76 | }; |
| 76 | 77 | ||
diff --git a/include/linux/libata.h b/include/linux/libata.h index 91c9d109e5f1..eae7a053dc51 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
| @@ -398,6 +398,7 @@ enum { | |||
| 398 | ATA_HORKAGE_NOSETXFER = (1 << 14), /* skip SETXFER, SATA only */ | 398 | ATA_HORKAGE_NOSETXFER = (1 << 14), /* skip SETXFER, SATA only */ |
| 399 | ATA_HORKAGE_BROKEN_FPDMA_AA = (1 << 15), /* skip AA */ | 399 | ATA_HORKAGE_BROKEN_FPDMA_AA = (1 << 15), /* skip AA */ |
| 400 | ATA_HORKAGE_DUMP_ID = (1 << 16), /* dump IDENTIFY data */ | 400 | ATA_HORKAGE_DUMP_ID = (1 << 16), /* dump IDENTIFY data */ |
| 401 | ATA_HORKAGE_MAX_SEC_LBA48 = (1 << 17), /* Set max sects to 65535 */ | ||
| 401 | 402 | ||
| 402 | /* DMA mask for user DMA control: User visible values; DO NOT | 403 | /* DMA mask for user DMA control: User visible values; DO NOT |
| 403 | renumber */ | 404 | renumber */ |
diff --git a/include/linux/mm.h b/include/linux/mm.h index e19ff30ad0a2..e2091b88d24c 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
| @@ -1611,6 +1611,8 @@ int vm_insert_pfn(struct vm_area_struct *vma, unsigned long addr, | |||
| 1611 | unsigned long pfn); | 1611 | unsigned long pfn); |
| 1612 | int vm_insert_mixed(struct vm_area_struct *vma, unsigned long addr, | 1612 | int vm_insert_mixed(struct vm_area_struct *vma, unsigned long addr, |
| 1613 | unsigned long pfn); | 1613 | unsigned long pfn); |
| 1614 | int vm_iomap_memory(struct vm_area_struct *vma, phys_addr_t start, unsigned long len); | ||
| 1615 | |||
| 1614 | 1616 | ||
| 1615 | struct page *follow_page_mask(struct vm_area_struct *vma, | 1617 | struct page *follow_page_mask(struct vm_area_struct *vma, |
| 1616 | unsigned long address, unsigned int foll_flags, | 1618 | unsigned long address, unsigned int foll_flags, |
diff --git a/include/linux/netfilter/ipset/ip_set_ahash.h b/include/linux/netfilter/ipset/ip_set_ahash.h index 01d25e6fc792..0214c4c146fa 100644 --- a/include/linux/netfilter/ipset/ip_set_ahash.h +++ b/include/linux/netfilter/ipset/ip_set_ahash.h | |||
| @@ -291,6 +291,7 @@ ip_set_hash_destroy(struct ip_set *set) | |||
| 291 | #define type_pf_data_tlist TOKEN(TYPE, PF, _data_tlist) | 291 | #define type_pf_data_tlist TOKEN(TYPE, PF, _data_tlist) |
| 292 | #define type_pf_data_next TOKEN(TYPE, PF, _data_next) | 292 | #define type_pf_data_next TOKEN(TYPE, PF, _data_next) |
| 293 | #define type_pf_data_flags TOKEN(TYPE, PF, _data_flags) | 293 | #define type_pf_data_flags TOKEN(TYPE, PF, _data_flags) |
| 294 | #define type_pf_data_reset_flags TOKEN(TYPE, PF, _data_reset_flags) | ||
| 294 | #ifdef IP_SET_HASH_WITH_NETS | 295 | #ifdef IP_SET_HASH_WITH_NETS |
| 295 | #define type_pf_data_match TOKEN(TYPE, PF, _data_match) | 296 | #define type_pf_data_match TOKEN(TYPE, PF, _data_match) |
| 296 | #else | 297 | #else |
| @@ -385,9 +386,9 @@ type_pf_resize(struct ip_set *set, bool retried) | |||
| 385 | struct ip_set_hash *h = set->data; | 386 | struct ip_set_hash *h = set->data; |
| 386 | struct htable *t, *orig = h->table; | 387 | struct htable *t, *orig = h->table; |
| 387 | u8 htable_bits = orig->htable_bits; | 388 | u8 htable_bits = orig->htable_bits; |
| 388 | const struct type_pf_elem *data; | 389 | struct type_pf_elem *data; |
| 389 | struct hbucket *n, *m; | 390 | struct hbucket *n, *m; |
| 390 | u32 i, j; | 391 | u32 i, j, flags = 0; |
| 391 | int ret; | 392 | int ret; |
| 392 | 393 | ||
| 393 | retry: | 394 | retry: |
| @@ -412,9 +413,16 @@ retry: | |||
| 412 | n = hbucket(orig, i); | 413 | n = hbucket(orig, i); |
| 413 | for (j = 0; j < n->pos; j++) { | 414 | for (j = 0; j < n->pos; j++) { |
| 414 | data = ahash_data(n, j); | 415 | data = ahash_data(n, j); |
| 416 | #ifdef IP_SET_HASH_WITH_NETS | ||
| 417 | flags = 0; | ||
| 418 | type_pf_data_reset_flags(data, &flags); | ||
| 419 | #endif | ||
| 415 | m = hbucket(t, HKEY(data, h->initval, htable_bits)); | 420 | m = hbucket(t, HKEY(data, h->initval, htable_bits)); |
| 416 | ret = type_pf_elem_add(m, data, AHASH_MAX(h), 0); | 421 | ret = type_pf_elem_add(m, data, AHASH_MAX(h), flags); |
| 417 | if (ret < 0) { | 422 | if (ret < 0) { |
| 423 | #ifdef IP_SET_HASH_WITH_NETS | ||
| 424 | type_pf_data_flags(data, flags); | ||
| 425 | #endif | ||
| 418 | read_unlock_bh(&set->lock); | 426 | read_unlock_bh(&set->lock); |
| 419 | ahash_destroy(t); | 427 | ahash_destroy(t); |
| 420 | if (ret == -EAGAIN) | 428 | if (ret == -EAGAIN) |
| @@ -836,9 +844,9 @@ type_pf_tresize(struct ip_set *set, bool retried) | |||
| 836 | struct ip_set_hash *h = set->data; | 844 | struct ip_set_hash *h = set->data; |
| 837 | struct htable *t, *orig = h->table; | 845 | struct htable *t, *orig = h->table; |
| 838 | u8 htable_bits = orig->htable_bits; | 846 | u8 htable_bits = orig->htable_bits; |
| 839 | const struct type_pf_elem *data; | 847 | struct type_pf_elem *data; |
| 840 | struct hbucket *n, *m; | 848 | struct hbucket *n, *m; |
| 841 | u32 i, j; | 849 | u32 i, j, flags = 0; |
| 842 | int ret; | 850 | int ret; |
| 843 | 851 | ||
| 844 | /* Try to cleanup once */ | 852 | /* Try to cleanup once */ |
| @@ -873,10 +881,17 @@ retry: | |||
| 873 | n = hbucket(orig, i); | 881 | n = hbucket(orig, i); |
| 874 | for (j = 0; j < n->pos; j++) { | 882 | for (j = 0; j < n->pos; j++) { |
| 875 | data = ahash_tdata(n, j); | 883 | data = ahash_tdata(n, j); |
| 884 | #ifdef IP_SET_HASH_WITH_NETS | ||
| 885 | flags = 0; | ||
| 886 | type_pf_data_reset_flags(data, &flags); | ||
| 887 | #endif | ||
| 876 | m = hbucket(t, HKEY(data, h->initval, htable_bits)); | 888 | m = hbucket(t, HKEY(data, h->initval, htable_bits)); |
| 877 | ret = type_pf_elem_tadd(m, data, AHASH_MAX(h), 0, | 889 | ret = type_pf_elem_tadd(m, data, AHASH_MAX(h), flags, |
| 878 | ip_set_timeout_get(type_pf_data_timeout(data))); | 890 | ip_set_timeout_get(type_pf_data_timeout(data))); |
| 879 | if (ret < 0) { | 891 | if (ret < 0) { |
| 892 | #ifdef IP_SET_HASH_WITH_NETS | ||
| 893 | type_pf_data_flags(data, flags); | ||
| 894 | #endif | ||
| 880 | read_unlock_bh(&set->lock); | 895 | read_unlock_bh(&set->lock); |
| 881 | ahash_destroy(t); | 896 | ahash_destroy(t); |
| 882 | if (ret == -EAGAIN) | 897 | if (ret == -EAGAIN) |
| @@ -1187,6 +1202,7 @@ type_pf_gc_init(struct ip_set *set) | |||
| 1187 | #undef type_pf_data_tlist | 1202 | #undef type_pf_data_tlist |
| 1188 | #undef type_pf_data_next | 1203 | #undef type_pf_data_next |
| 1189 | #undef type_pf_data_flags | 1204 | #undef type_pf_data_flags |
| 1205 | #undef type_pf_data_reset_flags | ||
| 1190 | #undef type_pf_data_match | 1206 | #undef type_pf_data_match |
| 1191 | 1207 | ||
| 1192 | #undef type_pf_elem | 1208 | #undef type_pf_elem |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 2461033a7987..710067f3618c 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -916,6 +916,7 @@ void pci_disable_rom(struct pci_dev *pdev); | |||
| 916 | void __iomem __must_check *pci_map_rom(struct pci_dev *pdev, size_t *size); | 916 | void __iomem __must_check *pci_map_rom(struct pci_dev *pdev, size_t *size); |
| 917 | void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom); | 917 | void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom); |
| 918 | size_t pci_get_rom_size(struct pci_dev *pdev, void __iomem *rom, size_t size); | 918 | size_t pci_get_rom_size(struct pci_dev *pdev, void __iomem *rom, size_t size); |
| 919 | void __iomem __must_check *pci_platform_rom(struct pci_dev *pdev, size_t *size); | ||
| 919 | 920 | ||
| 920 | /* Power management related routines */ | 921 | /* Power management related routines */ |
| 921 | int pci_save_state(struct pci_dev *dev); | 922 | int pci_save_state(struct pci_dev *dev); |
diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 5a710b9c578e..87a03c746f17 100644 --- a/include/linux/preempt.h +++ b/include/linux/preempt.h | |||
| @@ -93,14 +93,20 @@ do { \ | |||
| 93 | 93 | ||
| 94 | #else /* !CONFIG_PREEMPT_COUNT */ | 94 | #else /* !CONFIG_PREEMPT_COUNT */ |
| 95 | 95 | ||
| 96 | #define preempt_disable() do { } while (0) | 96 | /* |
| 97 | #define sched_preempt_enable_no_resched() do { } while (0) | 97 | * Even if we don't have any preemption, we need preempt disable/enable |
| 98 | #define preempt_enable_no_resched() do { } while (0) | 98 | * to be barriers, so that we don't have things like get_user/put_user |
| 99 | #define preempt_enable() do { } while (0) | 99 | * that can cause faults and scheduling migrate into our preempt-protected |
| 100 | 100 | * region. | |
| 101 | #define preempt_disable_notrace() do { } while (0) | 101 | */ |
| 102 | #define preempt_enable_no_resched_notrace() do { } while (0) | 102 | #define preempt_disable() barrier() |
| 103 | #define preempt_enable_notrace() do { } while (0) | 103 | #define sched_preempt_enable_no_resched() barrier() |
| 104 | #define preempt_enable_no_resched() barrier() | ||
| 105 | #define preempt_enable() barrier() | ||
| 106 | |||
| 107 | #define preempt_disable_notrace() barrier() | ||
| 108 | #define preempt_enable_no_resched_notrace() barrier() | ||
| 109 | #define preempt_enable_notrace() barrier() | ||
| 104 | 110 | ||
| 105 | #endif /* CONFIG_PREEMPT_COUNT */ | 111 | #endif /* CONFIG_PREEMPT_COUNT */ |
| 106 | 112 | ||
diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index 8307f2f94d86..94dfb2aa5533 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h | |||
| @@ -117,6 +117,7 @@ struct proc_dir_entry *proc_create_data(const char *name, umode_t mode, | |||
| 117 | const struct file_operations *proc_fops, | 117 | const struct file_operations *proc_fops, |
| 118 | void *data); | 118 | void *data); |
| 119 | extern void remove_proc_entry(const char *name, struct proc_dir_entry *parent); | 119 | extern void remove_proc_entry(const char *name, struct proc_dir_entry *parent); |
| 120 | extern int remove_proc_subtree(const char *name, struct proc_dir_entry *parent); | ||
| 120 | 121 | ||
| 121 | struct pid_namespace; | 122 | struct pid_namespace; |
| 122 | 123 | ||
| @@ -202,6 +203,7 @@ static inline struct proc_dir_entry *proc_create_data(const char *name, | |||
| 202 | return NULL; | 203 | return NULL; |
| 203 | } | 204 | } |
| 204 | #define remove_proc_entry(name, parent) do {} while (0) | 205 | #define remove_proc_entry(name, parent) do {} while (0) |
| 206 | #define remove_proc_subtree(name, parent) do {} while (0) | ||
| 205 | 207 | ||
| 206 | static inline struct proc_dir_entry *proc_symlink(const char *name, | 208 | static inline struct proc_dir_entry *proc_symlink(const char *name, |
| 207 | struct proc_dir_entry *parent,const char *dest) {return NULL;} | 209 | struct proc_dir_entry *parent,const char *dest) {return NULL;} |
diff --git a/include/linux/sched.h b/include/linux/sched.h index d35d2b6ddbfb..e692a022527b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -163,9 +163,10 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) | |||
| 163 | #define TASK_DEAD 64 | 163 | #define TASK_DEAD 64 |
| 164 | #define TASK_WAKEKILL 128 | 164 | #define TASK_WAKEKILL 128 |
| 165 | #define TASK_WAKING 256 | 165 | #define TASK_WAKING 256 |
| 166 | #define TASK_STATE_MAX 512 | 166 | #define TASK_PARKED 512 |
| 167 | #define TASK_STATE_MAX 1024 | ||
| 167 | 168 | ||
| 168 | #define TASK_STATE_TO_CHAR_STR "RSDTtZXxKW" | 169 | #define TASK_STATE_TO_CHAR_STR "RSDTtZXxKWP" |
| 169 | 170 | ||
| 170 | extern char ___assert_task_state[1 - 2*!!( | 171 | extern char ___assert_task_state[1 - 2*!!( |
| 171 | sizeof(TASK_STATE_TO_CHAR_STR)-1 != ilog2(TASK_STATE_MAX)+1)]; | 172 | sizeof(TASK_STATE_TO_CHAR_STR)-1 != ilog2(TASK_STATE_MAX)+1)]; |
diff --git a/include/linux/security.h b/include/linux/security.h index eee7478cda70..032c366ef1c6 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
| @@ -1012,6 +1012,10 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
| 1012 | * This hook can be used by the module to update any security state | 1012 | * This hook can be used by the module to update any security state |
| 1013 | * associated with the TUN device's security structure. | 1013 | * associated with the TUN device's security structure. |
| 1014 | * @security pointer to the TUN devices's security structure. | 1014 | * @security pointer to the TUN devices's security structure. |
| 1015 | * @skb_owned_by: | ||
| 1016 | * This hook sets the packet's owning sock. | ||
| 1017 | * @skb is the packet. | ||
| 1018 | * @sk the sock which owns the packet. | ||
| 1015 | * | 1019 | * |
| 1016 | * Security hooks for XFRM operations. | 1020 | * Security hooks for XFRM operations. |
| 1017 | * | 1021 | * |
| @@ -1638,6 +1642,7 @@ struct security_operations { | |||
| 1638 | int (*tun_dev_attach_queue) (void *security); | 1642 | int (*tun_dev_attach_queue) (void *security); |
| 1639 | int (*tun_dev_attach) (struct sock *sk, void *security); | 1643 | int (*tun_dev_attach) (struct sock *sk, void *security); |
| 1640 | int (*tun_dev_open) (void *security); | 1644 | int (*tun_dev_open) (void *security); |
| 1645 | void (*skb_owned_by) (struct sk_buff *skb, struct sock *sk); | ||
| 1641 | #endif /* CONFIG_SECURITY_NETWORK */ | 1646 | #endif /* CONFIG_SECURITY_NETWORK */ |
| 1642 | 1647 | ||
| 1643 | #ifdef CONFIG_SECURITY_NETWORK_XFRM | 1648 | #ifdef CONFIG_SECURITY_NETWORK_XFRM |
| @@ -2588,6 +2593,8 @@ int security_tun_dev_attach_queue(void *security); | |||
| 2588 | int security_tun_dev_attach(struct sock *sk, void *security); | 2593 | int security_tun_dev_attach(struct sock *sk, void *security); |
| 2589 | int security_tun_dev_open(void *security); | 2594 | int security_tun_dev_open(void *security); |
| 2590 | 2595 | ||
| 2596 | void security_skb_owned_by(struct sk_buff *skb, struct sock *sk); | ||
| 2597 | |||
| 2591 | #else /* CONFIG_SECURITY_NETWORK */ | 2598 | #else /* CONFIG_SECURITY_NETWORK */ |
| 2592 | static inline int security_unix_stream_connect(struct sock *sock, | 2599 | static inline int security_unix_stream_connect(struct sock *sock, |
| 2593 | struct sock *other, | 2600 | struct sock *other, |
| @@ -2779,6 +2786,11 @@ static inline int security_tun_dev_open(void *security) | |||
| 2779 | { | 2786 | { |
| 2780 | return 0; | 2787 | return 0; |
| 2781 | } | 2788 | } |
| 2789 | |||
| 2790 | static inline void security_skb_owned_by(struct sk_buff *skb, struct sock *sk) | ||
| 2791 | { | ||
| 2792 | } | ||
| 2793 | |||
| 2782 | #endif /* CONFIG_SECURITY_NETWORK */ | 2794 | #endif /* CONFIG_SECURITY_NETWORK */ |
| 2783 | 2795 | ||
| 2784 | #ifdef CONFIG_SECURITY_NETWORK_XFRM | 2796 | #ifdef CONFIG_SECURITY_NETWORK_XFRM |
diff --git a/include/linux/spinlock_up.h b/include/linux/spinlock_up.h index a26e2fb604e6..e2369c167dbd 100644 --- a/include/linux/spinlock_up.h +++ b/include/linux/spinlock_up.h | |||
| @@ -16,7 +16,10 @@ | |||
| 16 | * In the debug case, 1 means unlocked, 0 means locked. (the values | 16 | * In the debug case, 1 means unlocked, 0 means locked. (the values |
| 17 | * are inverted, to catch initialization bugs) | 17 | * are inverted, to catch initialization bugs) |
| 18 | * | 18 | * |
| 19 | * No atomicity anywhere, we are on UP. | 19 | * No atomicity anywhere, we are on UP. However, we still need |
| 20 | * the compiler barriers, because we do not want the compiler to | ||
| 21 | * move potentially faulting instructions (notably user accesses) | ||
| 22 | * into the locked sequence, resulting in non-atomic execution. | ||
| 20 | */ | 23 | */ |
| 21 | 24 | ||
| 22 | #ifdef CONFIG_DEBUG_SPINLOCK | 25 | #ifdef CONFIG_DEBUG_SPINLOCK |
| @@ -25,6 +28,7 @@ | |||
| 25 | static inline void arch_spin_lock(arch_spinlock_t *lock) | 28 | static inline void arch_spin_lock(arch_spinlock_t *lock) |
| 26 | { | 29 | { |
| 27 | lock->slock = 0; | 30 | lock->slock = 0; |
| 31 | barrier(); | ||
| 28 | } | 32 | } |
| 29 | 33 | ||
| 30 | static inline void | 34 | static inline void |
| @@ -32,6 +36,7 @@ arch_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) | |||
| 32 | { | 36 | { |
| 33 | local_irq_save(flags); | 37 | local_irq_save(flags); |
| 34 | lock->slock = 0; | 38 | lock->slock = 0; |
| 39 | barrier(); | ||
| 35 | } | 40 | } |
| 36 | 41 | ||
| 37 | static inline int arch_spin_trylock(arch_spinlock_t *lock) | 42 | static inline int arch_spin_trylock(arch_spinlock_t *lock) |
| @@ -39,32 +44,34 @@ static inline int arch_spin_trylock(arch_spinlock_t *lock) | |||
| 39 | char oldval = lock->slock; | 44 | char oldval = lock->slock; |
| 40 | 45 | ||
| 41 | lock->slock = 0; | 46 | lock->slock = 0; |
| 47 | barrier(); | ||
| 42 | 48 | ||
| 43 | return oldval > 0; | 49 | return oldval > 0; |
| 44 | } | 50 | } |
| 45 | 51 | ||
| 46 | static inline void arch_spin_unlock(arch_spinlock_t *lock) | 52 | static inline void arch_spin_unlock(arch_spinlock_t *lock) |
| 47 | { | 53 | { |
| 54 | barrier(); | ||
| 48 | lock->slock = 1; | 55 | lock->slock = 1; |
| 49 | } | 56 | } |
| 50 | 57 | ||
| 51 | /* | 58 | /* |
| 52 | * Read-write spinlocks. No debug version. | 59 | * Read-write spinlocks. No debug version. |
| 53 | */ | 60 | */ |
| 54 | #define arch_read_lock(lock) do { (void)(lock); } while (0) | 61 | #define arch_read_lock(lock) do { barrier(); (void)(lock); } while (0) |
| 55 | #define arch_write_lock(lock) do { (void)(lock); } while (0) | 62 | #define arch_write_lock(lock) do { barrier(); (void)(lock); } while (0) |
| 56 | #define arch_read_trylock(lock) ({ (void)(lock); 1; }) | 63 | #define arch_read_trylock(lock) ({ barrier(); (void)(lock); 1; }) |
| 57 | #define arch_write_trylock(lock) ({ (void)(lock); 1; }) | 64 | #define arch_write_trylock(lock) ({ barrier(); (void)(lock); 1; }) |
| 58 | #define arch_read_unlock(lock) do { (void)(lock); } while (0) | 65 | #define arch_read_unlock(lock) do { barrier(); (void)(lock); } while (0) |
| 59 | #define arch_write_unlock(lock) do { (void)(lock); } while (0) | 66 | #define arch_write_unlock(lock) do { barrier(); (void)(lock); } while (0) |
| 60 | 67 | ||
| 61 | #else /* DEBUG_SPINLOCK */ | 68 | #else /* DEBUG_SPINLOCK */ |
| 62 | #define arch_spin_is_locked(lock) ((void)(lock), 0) | 69 | #define arch_spin_is_locked(lock) ((void)(lock), 0) |
| 63 | /* for sched.c and kernel_lock.c: */ | 70 | /* for sched.c and kernel_lock.c: */ |
| 64 | # define arch_spin_lock(lock) do { (void)(lock); } while (0) | 71 | # define arch_spin_lock(lock) do { barrier(); (void)(lock); } while (0) |
| 65 | # define arch_spin_lock_flags(lock, flags) do { (void)(lock); } while (0) | 72 | # define arch_spin_lock_flags(lock, flags) do { barrier(); (void)(lock); } while (0) |
| 66 | # define arch_spin_unlock(lock) do { (void)(lock); } while (0) | 73 | # define arch_spin_unlock(lock) do { barrier(); (void)(lock); } while (0) |
| 67 | # define arch_spin_trylock(lock) ({ (void)(lock); 1; }) | 74 | # define arch_spin_trylock(lock) ({ barrier(); (void)(lock); 1; }) |
| 68 | #endif /* DEBUG_SPINLOCK */ | 75 | #endif /* DEBUG_SPINLOCK */ |
| 69 | 76 | ||
| 70 | #define arch_spin_is_contended(lock) (((void)(lock), 0)) | 77 | #define arch_spin_is_contended(lock) (((void)(lock), 0)) |
diff --git a/include/linux/ssb/ssb_driver_chipcommon.h b/include/linux/ssb/ssb_driver_chipcommon.h index 9e492be5244b..6fcfe99bd999 100644 --- a/include/linux/ssb/ssb_driver_chipcommon.h +++ b/include/linux/ssb/ssb_driver_chipcommon.h | |||
| @@ -219,6 +219,7 @@ | |||
| 219 | #define SSB_CHIPCO_PMU_CTL 0x0600 /* PMU control */ | 219 | #define SSB_CHIPCO_PMU_CTL 0x0600 /* PMU control */ |
| 220 | #define SSB_CHIPCO_PMU_CTL_ILP_DIV 0xFFFF0000 /* ILP div mask */ | 220 | #define SSB_CHIPCO_PMU_CTL_ILP_DIV 0xFFFF0000 /* ILP div mask */ |
| 221 | #define SSB_CHIPCO_PMU_CTL_ILP_DIV_SHIFT 16 | 221 | #define SSB_CHIPCO_PMU_CTL_ILP_DIV_SHIFT 16 |
| 222 | #define SSB_CHIPCO_PMU_CTL_PLL_UPD 0x00000400 | ||
| 222 | #define SSB_CHIPCO_PMU_CTL_NOILPONW 0x00000200 /* No ILP on wait */ | 223 | #define SSB_CHIPCO_PMU_CTL_NOILPONW 0x00000200 /* No ILP on wait */ |
| 223 | #define SSB_CHIPCO_PMU_CTL_HTREQEN 0x00000100 /* HT req enable */ | 224 | #define SSB_CHIPCO_PMU_CTL_HTREQEN 0x00000100 /* HT req enable */ |
| 224 | #define SSB_CHIPCO_PMU_CTL_ALPREQEN 0x00000080 /* ALP req enable */ | 225 | #define SSB_CHIPCO_PMU_CTL_ALPREQEN 0x00000080 /* ALP req enable */ |
| @@ -667,5 +668,6 @@ enum ssb_pmu_ldo_volt_id { | |||
| 667 | void ssb_pmu_set_ldo_voltage(struct ssb_chipcommon *cc, | 668 | void ssb_pmu_set_ldo_voltage(struct ssb_chipcommon *cc, |
| 668 | enum ssb_pmu_ldo_volt_id id, u32 voltage); | 669 | enum ssb_pmu_ldo_volt_id id, u32 voltage); |
| 669 | void ssb_pmu_set_ldo_paref(struct ssb_chipcommon *cc, bool on); | 670 | void ssb_pmu_set_ldo_paref(struct ssb_chipcommon *cc, bool on); |
| 671 | void ssb_pmu_spuravoid_pllupdate(struct ssb_chipcommon *cc, int spuravoid); | ||
| 670 | 672 | ||
| 671 | #endif /* LINUX_SSB_CHIPCO_H_ */ | 673 | #endif /* LINUX_SSB_CHIPCO_H_ */ |
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h index 2de42f9401d2..a5ffd32642fd 100644 --- a/include/linux/swiotlb.h +++ b/include/linux/swiotlb.h | |||
| @@ -25,6 +25,7 @@ extern int swiotlb_force; | |||
| 25 | extern void swiotlb_init(int verbose); | 25 | extern void swiotlb_init(int verbose); |
| 26 | int swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose); | 26 | int swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose); |
| 27 | extern unsigned long swiotlb_nr_tbl(void); | 27 | extern unsigned long swiotlb_nr_tbl(void); |
| 28 | unsigned long swiotlb_size_or_default(void); | ||
| 28 | extern int swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs); | 29 | extern int swiotlb_late_init_with_tbl(char *tlb, unsigned long nslabs); |
| 29 | 30 | ||
| 30 | /* | 31 | /* |
diff --git a/include/linux/ucs2_string.h b/include/linux/ucs2_string.h new file mode 100644 index 000000000000..cbb20afdbc01 --- /dev/null +++ b/include/linux/ucs2_string.h | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | #ifndef _LINUX_UCS2_STRING_H_ | ||
| 2 | #define _LINUX_UCS2_STRING_H_ | ||
| 3 | |||
| 4 | #include <linux/types.h> /* for size_t */ | ||
| 5 | #include <linux/stddef.h> /* for NULL */ | ||
| 6 | |||
| 7 | typedef u16 ucs2_char_t; | ||
| 8 | |||
| 9 | unsigned long ucs2_strnlen(const ucs2_char_t *s, size_t maxlength); | ||
| 10 | unsigned long ucs2_strlen(const ucs2_char_t *s); | ||
| 11 | unsigned long ucs2_strsize(const ucs2_char_t *data, unsigned long maxlength); | ||
| 12 | int ucs2_strncmp(const ucs2_char_t *a, const ucs2_char_t *b, size_t len); | ||
| 13 | |||
| 14 | #endif /* _LINUX_UCS2_STRING_H_ */ | ||
diff --git a/include/net/addrconf.h b/include/net/addrconf.h index 40be2a0d8ae1..84a6440f1f19 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h | |||
| @@ -199,6 +199,7 @@ extern bool ipv6_chk_acast_addr(struct net *net, struct net_device *dev, | |||
| 199 | /* Device notifier */ | 199 | /* Device notifier */ |
| 200 | extern int register_inet6addr_notifier(struct notifier_block *nb); | 200 | extern int register_inet6addr_notifier(struct notifier_block *nb); |
| 201 | extern int unregister_inet6addr_notifier(struct notifier_block *nb); | 201 | extern int unregister_inet6addr_notifier(struct notifier_block *nb); |
| 202 | extern int inet6addr_notifier_call_chain(unsigned long val, void *v); | ||
| 202 | 203 | ||
| 203 | extern void inet6_netconf_notify_devconf(struct net *net, int type, int ifindex, | 204 | extern void inet6_netconf_notify_devconf(struct net *net, int type, int ifindex, |
| 204 | struct ipv6_devconf *devconf); | 205 | struct ipv6_devconf *devconf); |
diff --git a/include/net/irda/irlmp.h b/include/net/irda/irlmp.h index f74109144d3f..f132924cc9da 100644 --- a/include/net/irda/irlmp.h +++ b/include/net/irda/irlmp.h | |||
| @@ -256,7 +256,8 @@ static inline __u32 irlmp_get_daddr(const struct lsap_cb *self) | |||
| 256 | return (self && self->lap) ? self->lap->daddr : 0; | 256 | return (self && self->lap) ? self->lap->daddr : 0; |
| 257 | } | 257 | } |
| 258 | 258 | ||
| 259 | extern const char *irlmp_reasons[]; | 259 | const char *irlmp_reason_str(LM_REASON reason); |
| 260 | |||
| 260 | extern int sysctl_discovery_timeout; | 261 | extern int sysctl_discovery_timeout; |
| 261 | extern int sysctl_discovery_slots; | 262 | extern int sysctl_discovery_slots; |
| 262 | extern int sysctl_discovery; | 263 | extern int sysctl_discovery; |
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h index cc7c19732389..714cc9a54a4c 100644 --- a/include/net/iucv/af_iucv.h +++ b/include/net/iucv/af_iucv.h | |||
| @@ -130,6 +130,14 @@ struct iucv_sock { | |||
| 130 | enum iucv_tx_notify n); | 130 | enum iucv_tx_notify n); |
| 131 | }; | 131 | }; |
| 132 | 132 | ||
| 133 | struct iucv_skb_cb { | ||
| 134 | u32 class; /* target class of message */ | ||
| 135 | u32 tag; /* tag associated with message */ | ||
| 136 | u32 offset; /* offset for skb receival */ | ||
| 137 | }; | ||
| 138 | |||
| 139 | #define IUCV_SKB_CB(__skb) ((struct iucv_skb_cb *)&((__skb)->cb[0])) | ||
| 140 | |||
| 133 | /* iucv socket options (SOL_IUCV) */ | 141 | /* iucv socket options (SOL_IUCV) */ |
| 134 | #define SO_IPRMDATA_MSG 0x0080 /* send/recv IPRM_DATA msgs */ | 142 | #define SO_IPRMDATA_MSG 0x0080 /* send/recv IPRM_DATA msgs */ |
| 135 | #define SO_MSGLIMIT 0x1000 /* get/set IUCV MSGLIMIT */ | 143 | #define SO_MSGLIMIT 0x1000 /* get/set IUCV MSGLIMIT */ |
diff --git a/include/net/scm.h b/include/net/scm.h index 5a4c6a9eb122..8de2d37d2077 100644 --- a/include/net/scm.h +++ b/include/net/scm.h | |||
| @@ -78,7 +78,7 @@ static __inline__ int scm_send(struct socket *sock, struct msghdr *msg, | |||
| 78 | scm->creds.uid = INVALID_UID; | 78 | scm->creds.uid = INVALID_UID; |
| 79 | scm->creds.gid = INVALID_GID; | 79 | scm->creds.gid = INVALID_GID; |
| 80 | if (forcecreds) | 80 | if (forcecreds) |
| 81 | scm_set_cred(scm, task_tgid(current), current_euid(), current_egid()); | 81 | scm_set_cred(scm, task_tgid(current), current_uid(), current_gid()); |
| 82 | unix_get_peersec_dgram(sock, scm); | 82 | unix_get_peersec_dgram(sock, scm); |
| 83 | if (msg->msg_controllen <= 0) | 83 | if (msg->msg_controllen <= 0) |
| 84 | return 0; | 84 | return 0; |
diff --git a/include/trace/events/block.h b/include/trace/events/block.h index 9961726523d0..9c1467357b03 100644 --- a/include/trace/events/block.h +++ b/include/trace/events/block.h | |||
| @@ -257,6 +257,7 @@ TRACE_EVENT(block_bio_bounce, | |||
| 257 | 257 | ||
| 258 | /** | 258 | /** |
| 259 | * block_bio_complete - completed all work on the block operation | 259 | * block_bio_complete - completed all work on the block operation |
| 260 | * @q: queue holding the block operation | ||
| 260 | * @bio: block operation completed | 261 | * @bio: block operation completed |
| 261 | * @error: io error value | 262 | * @error: io error value |
| 262 | * | 263 | * |
| @@ -265,9 +266,9 @@ TRACE_EVENT(block_bio_bounce, | |||
| 265 | */ | 266 | */ |
| 266 | TRACE_EVENT(block_bio_complete, | 267 | TRACE_EVENT(block_bio_complete, |
| 267 | 268 | ||
| 268 | TP_PROTO(struct bio *bio, int error), | 269 | TP_PROTO(struct request_queue *q, struct bio *bio, int error), |
| 269 | 270 | ||
| 270 | TP_ARGS(bio, error), | 271 | TP_ARGS(q, bio, error), |
| 271 | 272 | ||
| 272 | TP_STRUCT__entry( | 273 | TP_STRUCT__entry( |
| 273 | __field( dev_t, dev ) | 274 | __field( dev_t, dev ) |
| @@ -278,8 +279,7 @@ TRACE_EVENT(block_bio_complete, | |||
| 278 | ), | 279 | ), |
| 279 | 280 | ||
| 280 | TP_fast_assign( | 281 | TP_fast_assign( |
| 281 | __entry->dev = bio->bi_bdev ? | 282 | __entry->dev = bio->bi_bdev->bd_dev; |
| 282 | bio->bi_bdev->bd_dev : 0; | ||
| 283 | __entry->sector = bio->bi_sector; | 283 | __entry->sector = bio->bi_sector; |
| 284 | __entry->nr_sector = bio->bi_size >> 9; | 284 | __entry->nr_sector = bio->bi_size >> 9; |
| 285 | __entry->error = error; | 285 | __entry->error = error; |
diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index 5a8671e8a67f..e5586caff67a 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h | |||
| @@ -147,7 +147,7 @@ TRACE_EVENT(sched_switch, | |||
| 147 | __print_flags(__entry->prev_state & (TASK_STATE_MAX-1), "|", | 147 | __print_flags(__entry->prev_state & (TASK_STATE_MAX-1), "|", |
| 148 | { 1, "S"} , { 2, "D" }, { 4, "T" }, { 8, "t" }, | 148 | { 1, "S"} , { 2, "D" }, { 4, "T" }, { 8, "t" }, |
| 149 | { 16, "Z" }, { 32, "X" }, { 64, "x" }, | 149 | { 16, "Z" }, { 32, "X" }, { 64, "x" }, |
| 150 | { 128, "W" }) : "R", | 150 | { 128, "K" }, { 256, "W" }, { 512, "P" }) : "R", |
| 151 | __entry->prev_state & TASK_STATE_MAX ? "+" : "", | 151 | __entry->prev_state & TASK_STATE_MAX ? "+" : "", |
| 152 | __entry->next_comm, __entry->next_pid, __entry->next_prio) | 152 | __entry->next_comm, __entry->next_pid, __entry->next_prio) |
| 153 | ); | 153 | ); |
diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h index 4c43b4448792..706d035fa748 100644 --- a/include/uapi/linux/fuse.h +++ b/include/uapi/linux/fuse.h | |||
| @@ -95,15 +95,10 @@ | |||
| 95 | #ifndef _LINUX_FUSE_H | 95 | #ifndef _LINUX_FUSE_H |
| 96 | #define _LINUX_FUSE_H | 96 | #define _LINUX_FUSE_H |
| 97 | 97 | ||
| 98 | #ifdef __linux__ | 98 | #ifdef __KERNEL__ |
| 99 | #include <linux/types.h> | 99 | #include <linux/types.h> |
| 100 | #else | 100 | #else |
| 101 | #include <stdint.h> | 101 | #include <stdint.h> |
| 102 | #define __u64 uint64_t | ||
| 103 | #define __s64 int64_t | ||
| 104 | #define __u32 uint32_t | ||
| 105 | #define __s32 int32_t | ||
| 106 | #define __u16 uint16_t | ||
| 107 | #endif | 102 | #endif |
| 108 | 103 | ||
| 109 | /* | 104 | /* |
| @@ -139,42 +134,42 @@ | |||
| 139 | userspace works under 64bit kernels */ | 134 | userspace works under 64bit kernels */ |
| 140 | 135 | ||
| 141 | struct fuse_attr { | 136 | struct fuse_attr { |
| 142 | __u64 ino; | 137 | uint64_t ino; |
| 143 | __u64 size; | 138 | uint64_t size; |
| 144 | __u64 blocks; | 139 | uint64_t blocks; |
| 145 | __u64 atime; | 140 | uint64_t atime; |
| 146 | __u64 mtime; | 141 | uint64_t mtime; |
| 147 | __u64 ctime; | 142 | uint64_t ctime; |
| 148 | __u32 atimensec; | 143 | uint32_t atimensec; |
| 149 | __u32 mtimensec; | 144 | uint32_t mtimensec; |
| 150 | __u32 ctimensec; | 145 | uint32_t ctimensec; |
| 151 | __u32 mode; | 146 | uint32_t mode; |
| 152 | __u32 nlink; | 147 | uint32_t nlink; |
| 153 | __u32 uid; | 148 | uint32_t uid; |
| 154 | __u32 gid; | 149 | uint32_t gid; |
| 155 | __u32 rdev; | 150 | uint32_t rdev; |
| 156 | __u32 blksize; | 151 | uint32_t blksize; |
| 157 | __u32 padding; | 152 | uint32_t padding; |
| 158 | }; | 153 | }; |
| 159 | 154 | ||
| 160 | struct fuse_kstatfs { | 155 | struct fuse_kstatfs { |
| 161 | __u64 blocks; | 156 | uint64_t blocks; |
| 162 | __u64 bfree; | 157 | uint64_t bfree; |
| 163 | __u64 bavail; | 158 | uint64_t bavail; |
| 164 | __u64 files; | 159 | uint64_t files; |
| 165 | __u64 ffree; | 160 | uint64_t ffree; |
| 166 | __u32 bsize; | 161 | uint32_t bsize; |
| 167 | __u32 namelen; | 162 | uint32_t namelen; |
| 168 | __u32 frsize; | 163 | uint32_t frsize; |
| 169 | __u32 padding; | 164 | uint32_t padding; |
| 170 | __u32 spare[6]; | 165 | uint32_t spare[6]; |
| 171 | }; | 166 | }; |
| 172 | 167 | ||
| 173 | struct fuse_file_lock { | 168 | struct fuse_file_lock { |
| 174 | __u64 start; | 169 | uint64_t start; |
| 175 | __u64 end; | 170 | uint64_t end; |
| 176 | __u32 type; | 171 | uint32_t type; |
| 177 | __u32 pid; /* tgid */ | 172 | uint32_t pid; /* tgid */ |
| 178 | }; | 173 | }; |
| 179 | 174 | ||
| 180 | /** | 175 | /** |
| @@ -364,143 +359,143 @@ enum fuse_notify_code { | |||
| 364 | #define FUSE_COMPAT_ENTRY_OUT_SIZE 120 | 359 | #define FUSE_COMPAT_ENTRY_OUT_SIZE 120 |
| 365 | 360 | ||
| 366 | struct fuse_entry_out { | 361 | struct fuse_entry_out { |
| 367 | __u64 nodeid; /* Inode ID */ | 362 | uint64_t nodeid; /* Inode ID */ |
| 368 | __u64 generation; /* Inode generation: nodeid:gen must | 363 | uint64_t generation; /* Inode generation: nodeid:gen must |
| 369 | be unique for the fs's lifetime */ | 364 | be unique for the fs's lifetime */ |
| 370 | __u64 entry_valid; /* Cache timeout for the name */ | 365 | uint64_t entry_valid; /* Cache timeout for the name */ |
| 371 | __u64 attr_valid; /* Cache timeout for the attributes */ | 366 | uint64_t attr_valid; /* Cache timeout for the attributes */ |
| 372 | __u32 entry_valid_nsec; | 367 | uint32_t entry_valid_nsec; |
| 373 | __u32 attr_valid_nsec; | 368 | uint32_t attr_valid_nsec; |
| 374 | struct fuse_attr attr; | 369 | struct fuse_attr attr; |
| 375 | }; | 370 | }; |
| 376 | 371 | ||
| 377 | struct fuse_forget_in { | 372 | struct fuse_forget_in { |
| 378 | __u64 nlookup; | 373 | uint64_t nlookup; |
| 379 | }; | 374 | }; |
| 380 | 375 | ||
| 381 | struct fuse_forget_one { | 376 | struct fuse_forget_one { |
| 382 | __u64 nodeid; | 377 | uint64_t nodeid; |
| 383 | __u64 nlookup; | 378 | uint64_t nlookup; |
| 384 | }; | 379 | }; |
| 385 | 380 | ||
| 386 | struct fuse_batch_forget_in { | 381 | struct fuse_batch_forget_in { |
| 387 | __u32 count; | 382 | uint32_t count; |
| 388 | __u32 dummy; | 383 | uint32_t dummy; |
| 389 | }; | 384 | }; |
| 390 | 385 | ||
| 391 | struct fuse_getattr_in { | 386 | struct fuse_getattr_in { |
| 392 | __u32 getattr_flags; | 387 | uint32_t getattr_flags; |
| 393 | __u32 dummy; | 388 | uint32_t dummy; |
| 394 | __u64 fh; | 389 | uint64_t fh; |
| 395 | }; | 390 | }; |
| 396 | 391 | ||
| 397 | #define FUSE_COMPAT_ATTR_OUT_SIZE 96 | 392 | #define FUSE_COMPAT_ATTR_OUT_SIZE 96 |
| 398 | 393 | ||
| 399 | struct fuse_attr_out { | 394 | struct fuse_attr_out { |
| 400 | __u64 attr_valid; /* Cache timeout for the attributes */ | 395 | uint64_t attr_valid; /* Cache timeout for the attributes */ |
| 401 | __u32 attr_valid_nsec; | 396 | uint32_t attr_valid_nsec; |
| 402 | __u32 dummy; | 397 | uint32_t dummy; |
| 403 | struct fuse_attr attr; | 398 | struct fuse_attr attr; |
| 404 | }; | 399 | }; |
| 405 | 400 | ||
| 406 | #define FUSE_COMPAT_MKNOD_IN_SIZE 8 | 401 | #define FUSE_COMPAT_MKNOD_IN_SIZE 8 |
| 407 | 402 | ||
| 408 | struct fuse_mknod_in { | 403 | struct fuse_mknod_in { |
| 409 | __u32 mode; | 404 | uint32_t mode; |
| 410 | __u32 rdev; | 405 | uint32_t rdev; |
| 411 | __u32 umask; | 406 | uint32_t umask; |
| 412 | __u32 padding; | 407 | uint32_t padding; |
| 413 | }; | 408 | }; |
| 414 | 409 | ||
| 415 | struct fuse_mkdir_in { | 410 | struct fuse_mkdir_in { |
| 416 | __u32 mode; | 411 | uint32_t mode; |
| 417 | __u32 umask; | 412 | uint32_t umask; |
| 418 | }; | 413 | }; |
| 419 | 414 | ||
| 420 | struct fuse_rename_in { | 415 | struct fuse_rename_in { |
| 421 | __u64 newdir; | 416 | uint64_t newdir; |
| 422 | }; | 417 | }; |
| 423 | 418 | ||
| 424 | struct fuse_link_in { | 419 | struct fuse_link_in { |
| 425 | __u64 oldnodeid; | 420 | uint64_t oldnodeid; |
| 426 | }; | 421 | }; |
| 427 | 422 | ||
| 428 | struct fuse_setattr_in { | 423 | struct fuse_setattr_in { |
| 429 | __u32 valid; | 424 | uint32_t valid; |
| 430 | __u32 padding; | 425 | uint32_t padding; |
| 431 | __u64 fh; | 426 | uint64_t fh; |
| 432 | __u64 size; | 427 | uint64_t size; |
| 433 | __u64 lock_owner; | 428 | uint64_t lock_owner; |
| 434 | __u64 atime; | 429 | uint64_t atime; |
| 435 | __u64 mtime; | 430 | uint64_t mtime; |
| 436 | __u64 unused2; | 431 | uint64_t unused2; |
| 437 | __u32 atimensec; | 432 | uint32_t atimensec; |
| 438 | __u32 mtimensec; | 433 | uint32_t mtimensec; |
| 439 | __u32 unused3; | 434 | uint32_t unused3; |
| 440 | __u32 mode; | 435 | uint32_t mode; |
| 441 | __u32 unused4; | 436 | uint32_t unused4; |
| 442 | __u32 uid; | 437 | uint32_t uid; |
| 443 | __u32 gid; | 438 | uint32_t gid; |
| 444 | __u32 unused5; | 439 | uint32_t unused5; |
| 445 | }; | 440 | }; |
| 446 | 441 | ||
| 447 | struct fuse_open_in { | 442 | struct fuse_open_in { |
| 448 | __u32 flags; | 443 | uint32_t flags; |
| 449 | __u32 unused; | 444 | uint32_t unused; |
| 450 | }; | 445 | }; |
| 451 | 446 | ||
| 452 | struct fuse_create_in { | 447 | struct fuse_create_in { |
| 453 | __u32 flags; | 448 | uint32_t flags; |
| 454 | __u32 mode; | 449 | uint32_t mode; |
| 455 | __u32 umask; | 450 | uint32_t umask; |
| 456 | __u32 padding; | 451 | uint32_t padding; |
| 457 | }; | 452 | }; |
| 458 | 453 | ||
| 459 | struct fuse_open_out { | 454 | struct fuse_open_out { |
| 460 | __u64 fh; | 455 | uint64_t fh; |
| 461 | __u32 open_flags; | 456 | uint32_t open_flags; |
| 462 | __u32 padding; | 457 | uint32_t padding; |
| 463 | }; | 458 | }; |
| 464 | 459 | ||
| 465 | struct fuse_release_in { | 460 | struct fuse_release_in { |
| 466 | __u64 fh; | 461 | uint64_t fh; |
| 467 | __u32 flags; | 462 | uint32_t flags; |
| 468 | __u32 release_flags; | 463 | uint32_t release_flags; |
| 469 | __u64 lock_owner; | 464 | uint64_t lock_owner; |
| 470 | }; | 465 | }; |
| 471 | 466 | ||
| 472 | struct fuse_flush_in { | 467 | struct fuse_flush_in { |
| 473 | __u64 fh; | 468 | uint64_t fh; |
| 474 | __u32 unused; | 469 | uint32_t unused; |
| 475 | __u32 padding; | 470 | uint32_t padding; |
| 476 | __u64 lock_owner; | 471 | uint64_t lock_owner; |
| 477 | }; | 472 | }; |
| 478 | 473 | ||
| 479 | struct fuse_read_in { | 474 | struct fuse_read_in { |
| 480 | __u64 fh; | 475 | uint64_t fh; |
| 481 | __u64 offset; | 476 | uint64_t offset; |
| 482 | __u32 size; | 477 | uint32_t size; |
| 483 | __u32 read_flags; | 478 | uint32_t read_flags; |
| 484 | __u64 lock_owner; | 479 | uint64_t lock_owner; |
| 485 | __u32 flags; | 480 | uint32_t flags; |
| 486 | __u32 padding; | 481 | uint32_t padding; |
| 487 | }; | 482 | }; |
| 488 | 483 | ||
| 489 | #define FUSE_COMPAT_WRITE_IN_SIZE 24 | 484 | #define FUSE_COMPAT_WRITE_IN_SIZE 24 |
| 490 | 485 | ||
| 491 | struct fuse_write_in { | 486 | struct fuse_write_in { |
| 492 | __u64 fh; | 487 | uint64_t fh; |
| 493 | __u64 offset; | 488 | uint64_t offset; |
| 494 | __u32 size; | 489 | uint32_t size; |
| 495 | __u32 write_flags; | 490 | uint32_t write_flags; |
| 496 | __u64 lock_owner; | 491 | uint64_t lock_owner; |
| 497 | __u32 flags; | 492 | uint32_t flags; |
| 498 | __u32 padding; | 493 | uint32_t padding; |
| 499 | }; | 494 | }; |
| 500 | 495 | ||
| 501 | struct fuse_write_out { | 496 | struct fuse_write_out { |
| 502 | __u32 size; | 497 | uint32_t size; |
| 503 | __u32 padding; | 498 | uint32_t padding; |
| 504 | }; | 499 | }; |
| 505 | 500 | ||
| 506 | #define FUSE_COMPAT_STATFS_SIZE 48 | 501 | #define FUSE_COMPAT_STATFS_SIZE 48 |
| @@ -510,32 +505,32 @@ struct fuse_statfs_out { | |||
| 510 | }; | 505 | }; |
| 511 | 506 | ||
| 512 | struct fuse_fsync_in { | 507 | struct fuse_fsync_in { |
| 513 | __u64 fh; | 508 | uint64_t fh; |
| 514 | __u32 fsync_flags; | 509 | uint32_t fsync_flags; |
| 515 | __u32 padding; | 510 | uint32_t padding; |
| 516 | }; | 511 | }; |
| 517 | 512 | ||
| 518 | struct fuse_setxattr_in { | 513 | struct fuse_setxattr_in { |
| 519 | __u32 size; | 514 | uint32_t size; |
| 520 | __u32 flags; | 515 | uint32_t flags; |
| 521 | }; | 516 | }; |
| 522 | 517 | ||
| 523 | struct fuse_getxattr_in { | 518 | struct fuse_getxattr_in { |
| 524 | __u32 size; | 519 | uint32_t size; |
| 525 | __u32 padding; | 520 | uint32_t padding; |
| 526 | }; | 521 | }; |
| 527 | 522 | ||
| 528 | struct fuse_getxattr_out { | 523 | struct fuse_getxattr_out { |
| 529 | __u32 size; | 524 | uint32_t size; |
| 530 | __u32 padding; | 525 | uint32_t padding; |
| 531 | }; | 526 | }; |
| 532 | 527 | ||
| 533 | struct fuse_lk_in { | 528 | struct fuse_lk_in { |
| 534 | __u64 fh; | 529 | uint64_t fh; |
| 535 | __u64 owner; | 530 | uint64_t owner; |
| 536 | struct fuse_file_lock lk; | 531 | struct fuse_file_lock lk; |
| 537 | __u32 lk_flags; | 532 | uint32_t lk_flags; |
| 538 | __u32 padding; | 533 | uint32_t padding; |
| 539 | }; | 534 | }; |
| 540 | 535 | ||
| 541 | struct fuse_lk_out { | 536 | struct fuse_lk_out { |
| @@ -543,134 +538,135 @@ struct fuse_lk_out { | |||
| 543 | }; | 538 | }; |
| 544 | 539 | ||
| 545 | struct fuse_access_in { | 540 | struct fuse_access_in { |
| 546 | __u32 mask; | 541 | uint32_t mask; |
| 547 | __u32 padding; | 542 | uint32_t padding; |
| 548 | }; | 543 | }; |
| 549 | 544 | ||
| 550 | struct fuse_init_in { | 545 | struct fuse_init_in { |
| 551 | __u32 major; | 546 | uint32_t major; |
| 552 | __u32 minor; | 547 | uint32_t minor; |
| 553 | __u32 max_readahead; | 548 | uint32_t max_readahead; |
| 554 | __u32 flags; | 549 | uint32_t flags; |
| 555 | }; | 550 | }; |
| 556 | 551 | ||
| 557 | struct fuse_init_out { | 552 | struct fuse_init_out { |
| 558 | __u32 major; | 553 | uint32_t major; |
| 559 | __u32 minor; | 554 | uint32_t minor; |
| 560 | __u32 max_readahead; | 555 | uint32_t max_readahead; |
| 561 | __u32 flags; | 556 | uint32_t flags; |
| 562 | __u16 max_background; | 557 | uint16_t max_background; |
| 563 | __u16 congestion_threshold; | 558 | uint16_t congestion_threshold; |
| 564 | __u32 max_write; | 559 | uint32_t max_write; |
| 565 | }; | 560 | }; |
| 566 | 561 | ||
| 567 | #define CUSE_INIT_INFO_MAX 4096 | 562 | #define CUSE_INIT_INFO_MAX 4096 |
| 568 | 563 | ||
| 569 | struct cuse_init_in { | 564 | struct cuse_init_in { |
| 570 | __u32 major; | 565 | uint32_t major; |
| 571 | __u32 minor; | 566 | uint32_t minor; |
| 572 | __u32 unused; | 567 | uint32_t unused; |
| 573 | __u32 flags; | 568 | uint32_t flags; |
| 574 | }; | 569 | }; |
| 575 | 570 | ||
| 576 | struct cuse_init_out { | 571 | struct cuse_init_out { |
| 577 | __u32 major; | 572 | uint32_t major; |
| 578 | __u32 minor; | 573 | uint32_t minor; |
| 579 | __u32 unused; | 574 | uint32_t unused; |
| 580 | __u32 flags; | 575 | uint32_t flags; |
| 581 | __u32 max_read; | 576 | uint32_t max_read; |
| 582 | __u32 max_write; | 577 | uint32_t max_write; |
| 583 | __u32 dev_major; /* chardev major */ | 578 | uint32_t dev_major; /* chardev major */ |
| 584 | __u32 dev_minor; /* chardev minor */ | 579 | uint32_t dev_minor; /* chardev minor */ |
| 585 | __u32 spare[10]; | 580 | uint32_t spare[10]; |
| 586 | }; | 581 | }; |
| 587 | 582 | ||
| 588 | struct fuse_interrupt_in { | 583 | struct fuse_interrupt_in { |
| 589 | __u64 unique; | 584 | uint64_t unique; |
| 590 | }; | 585 | }; |
| 591 | 586 | ||
| 592 | struct fuse_bmap_in { | 587 | struct fuse_bmap_in { |
| 593 | __u64 block; | 588 | uint64_t block; |
| 594 | __u32 blocksize; | 589 | uint32_t blocksize; |
| 595 | __u32 padding; | 590 | uint32_t padding; |
| 596 | }; | 591 | }; |
| 597 | 592 | ||
| 598 | struct fuse_bmap_out { | 593 | struct fuse_bmap_out { |
| 599 | __u64 block; | 594 | uint64_t block; |
| 600 | }; | 595 | }; |
| 601 | 596 | ||
| 602 | struct fuse_ioctl_in { | 597 | struct fuse_ioctl_in { |
| 603 | __u64 fh; | 598 | uint64_t fh; |
| 604 | __u32 flags; | 599 | uint32_t flags; |
| 605 | __u32 cmd; | 600 | uint32_t cmd; |
| 606 | __u64 arg; | 601 | uint64_t arg; |
| 607 | __u32 in_size; | 602 | uint32_t in_size; |
| 608 | __u32 out_size; | 603 | uint32_t out_size; |
| 609 | }; | 604 | }; |
| 610 | 605 | ||
| 611 | struct fuse_ioctl_iovec { | 606 | struct fuse_ioctl_iovec { |
| 612 | __u64 base; | 607 | uint64_t base; |
| 613 | __u64 len; | 608 | uint64_t len; |
| 614 | }; | 609 | }; |
| 615 | 610 | ||
| 616 | struct fuse_ioctl_out { | 611 | struct fuse_ioctl_out { |
| 617 | __s32 result; | 612 | int32_t result; |
| 618 | __u32 flags; | 613 | uint32_t flags; |
| 619 | __u32 in_iovs; | 614 | uint32_t in_iovs; |
| 620 | __u32 out_iovs; | 615 | uint32_t out_iovs; |
| 621 | }; | 616 | }; |
| 622 | 617 | ||
| 623 | struct fuse_poll_in { | 618 | struct fuse_poll_in { |
| 624 | __u64 fh; | 619 | uint64_t fh; |
| 625 | __u64 kh; | 620 | uint64_t kh; |
| 626 | __u32 flags; | 621 | uint32_t flags; |
| 627 | __u32 events; | 622 | uint32_t events; |
| 628 | }; | 623 | }; |
| 629 | 624 | ||
| 630 | struct fuse_poll_out { | 625 | struct fuse_poll_out { |
| 631 | __u32 revents; | 626 | uint32_t revents; |
| 632 | __u32 padding; | 627 | uint32_t padding; |
| 633 | }; | 628 | }; |
| 634 | 629 | ||
| 635 | struct fuse_notify_poll_wakeup_out { | 630 | struct fuse_notify_poll_wakeup_out { |
| 636 | __u64 kh; | 631 | uint64_t kh; |
| 637 | }; | 632 | }; |
| 638 | 633 | ||
| 639 | struct fuse_fallocate_in { | 634 | struct fuse_fallocate_in { |
| 640 | __u64 fh; | 635 | uint64_t fh; |
| 641 | __u64 offset; | 636 | uint64_t offset; |
| 642 | __u64 length; | 637 | uint64_t length; |
| 643 | __u32 mode; | 638 | uint32_t mode; |
| 644 | __u32 padding; | 639 | uint32_t padding; |
| 645 | }; | 640 | }; |
| 646 | 641 | ||
| 647 | struct fuse_in_header { | 642 | struct fuse_in_header { |
| 648 | __u32 len; | 643 | uint32_t len; |
| 649 | __u32 opcode; | 644 | uint32_t opcode; |
| 650 | __u64 unique; | 645 | uint64_t unique; |
| 651 | __u64 nodeid; | 646 | uint64_t nodeid; |
| 652 | __u32 uid; | 647 | uint32_t uid; |
| 653 | __u32 gid; | 648 | uint32_t gid; |
| 654 | __u32 pid; | 649 | uint32_t pid; |
| 655 | __u32 padding; | 650 | uint32_t padding; |
| 656 | }; | 651 | }; |
| 657 | 652 | ||
| 658 | struct fuse_out_header { | 653 | struct fuse_out_header { |
| 659 | __u32 len; | 654 | uint32_t len; |
| 660 | __s32 error; | 655 | int32_t error; |
| 661 | __u64 unique; | 656 | uint64_t unique; |
| 662 | }; | 657 | }; |
| 663 | 658 | ||
| 664 | struct fuse_dirent { | 659 | struct fuse_dirent { |
| 665 | __u64 ino; | 660 | uint64_t ino; |
| 666 | __u64 off; | 661 | uint64_t off; |
| 667 | __u32 namelen; | 662 | uint32_t namelen; |
| 668 | __u32 type; | 663 | uint32_t type; |
| 669 | char name[]; | 664 | char name[]; |
| 670 | }; | 665 | }; |
| 671 | 666 | ||
| 672 | #define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name) | 667 | #define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name) |
| 673 | #define FUSE_DIRENT_ALIGN(x) (((x) + sizeof(__u64) - 1) & ~(sizeof(__u64) - 1)) | 668 | #define FUSE_DIRENT_ALIGN(x) \ |
| 669 | (((x) + sizeof(uint64_t) - 1) & ~(sizeof(uint64_t) - 1)) | ||
| 674 | #define FUSE_DIRENT_SIZE(d) \ | 670 | #define FUSE_DIRENT_SIZE(d) \ |
| 675 | FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen) | 671 | FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen) |
| 676 | 672 | ||
| @@ -685,47 +681,47 @@ struct fuse_direntplus { | |||
| 685 | FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen) | 681 | FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen) |
| 686 | 682 | ||
| 687 | struct fuse_notify_inval_inode_out { | 683 | struct fuse_notify_inval_inode_out { |
| 688 | __u64 ino; | 684 | uint64_t ino; |
| 689 | __s64 off; | 685 | int64_t off; |
| 690 | __s64 len; | 686 | int64_t len; |
| 691 | }; | 687 | }; |
| 692 | 688 | ||
| 693 | struct fuse_notify_inval_entry_out { | 689 | struct fuse_notify_inval_entry_out { |
| 694 | __u64 parent; | 690 | uint64_t parent; |
| 695 | __u32 namelen; | 691 | uint32_t namelen; |
| 696 | __u32 padding; | 692 | uint32_t padding; |
| 697 | }; | 693 | }; |
| 698 | 694 | ||
| 699 | struct fuse_notify_delete_out { | 695 | struct fuse_notify_delete_out { |
| 700 | __u64 parent; | 696 | uint64_t parent; |
| 701 | __u64 child; | 697 | uint64_t child; |
| 702 | __u32 namelen; | 698 | uint32_t namelen; |
| 703 | __u32 padding; | 699 | uint32_t padding; |
| 704 | }; | 700 | }; |
| 705 | 701 | ||
| 706 | struct fuse_notify_store_out { | 702 | struct fuse_notify_store_out { |
| 707 | __u64 nodeid; | 703 | uint64_t nodeid; |
| 708 | __u64 offset; | 704 | uint64_t offset; |
| 709 | __u32 size; | 705 | uint32_t size; |
| 710 | __u32 padding; | 706 | uint32_t padding; |
| 711 | }; | 707 | }; |
| 712 | 708 | ||
| 713 | struct fuse_notify_retrieve_out { | 709 | struct fuse_notify_retrieve_out { |
| 714 | __u64 notify_unique; | 710 | uint64_t notify_unique; |
| 715 | __u64 nodeid; | 711 | uint64_t nodeid; |
| 716 | __u64 offset; | 712 | uint64_t offset; |
| 717 | __u32 size; | 713 | uint32_t size; |
| 718 | __u32 padding; | 714 | uint32_t padding; |
| 719 | }; | 715 | }; |
| 720 | 716 | ||
| 721 | /* Matches the size of fuse_write_in */ | 717 | /* Matches the size of fuse_write_in */ |
| 722 | struct fuse_notify_retrieve_in { | 718 | struct fuse_notify_retrieve_in { |
| 723 | __u64 dummy1; | 719 | uint64_t dummy1; |
| 724 | __u64 offset; | 720 | uint64_t offset; |
| 725 | __u32 size; | 721 | uint32_t size; |
| 726 | __u32 dummy2; | 722 | uint32_t dummy2; |
| 727 | __u64 dummy3; | 723 | uint64_t dummy3; |
| 728 | __u64 dummy4; | 724 | uint64_t dummy4; |
| 729 | }; | 725 | }; |
| 730 | 726 | ||
| 731 | #endif /* _LINUX_FUSE_H */ | 727 | #endif /* _LINUX_FUSE_H */ |
