diff options
author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-03-06 03:09:16 -0500 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-03-06 03:09:16 -0500 |
commit | d282e4d9353b9e7971713aa9e78da716e4a1262d (patch) | |
tree | 123aa2391841f37f4b8ae80c02eda4094e17994a /include/linux | |
parent | 2c0fad8e907abf059b21bdb24d183dcbf8d14c10 (diff) | |
parent | 192cfd58774b4d17b2fe8bdc77d89c2ef4e0591d (diff) |
Merge commit 'v3.3-rc6' into fbdev-next
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/compat.h | 4 | ||||
-rw-r--r-- | include/linux/dcache.h | 21 | ||||
-rw-r--r-- | include/linux/digsig.h | 4 | ||||
-rw-r--r-- | include/linux/fs.h | 1 | ||||
-rw-r--r-- | include/linux/if_link.h | 1 | ||||
-rw-r--r-- | include/linux/netfilter_bridge/ebtables.h | 4 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 2 | ||||
-rw-r--r-- | include/linux/regset.h | 10 | ||||
-rw-r--r-- | include/linux/rtnetlink.h | 3 | ||||
-rw-r--r-- | include/linux/signalfd.h | 5 | ||||
-rw-r--r-- | include/linux/skbuff.h | 10 | ||||
-rw-r--r-- | include/linux/syscalls.h | 2 | ||||
-rw-r--r-- | include/linux/usb/ch11.h | 10 |
13 files changed, 46 insertions, 31 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h index 41c9f6515f46..7e05fcee75a1 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
@@ -561,5 +561,9 @@ asmlinkage ssize_t compat_sys_process_vm_writev(compat_pid_t pid, | |||
561 | unsigned long liovcnt, const struct compat_iovec __user *rvec, | 561 | unsigned long liovcnt, const struct compat_iovec __user *rvec, |
562 | unsigned long riovcnt, unsigned long flags); | 562 | unsigned long riovcnt, unsigned long flags); |
563 | 563 | ||
564 | #else | ||
565 | |||
566 | #define is_compat_task() (0) | ||
567 | |||
564 | #endif /* CONFIG_COMPAT */ | 568 | #endif /* CONFIG_COMPAT */ |
565 | #endif /* _LINUX_COMPAT_H */ | 569 | #endif /* _LINUX_COMPAT_H */ |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index d64a55b23afd..4270bedd2308 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
@@ -54,18 +54,17 @@ extern struct dentry_stat_t dentry_stat; | |||
54 | static inline int dentry_cmp(const unsigned char *cs, size_t scount, | 54 | static inline int dentry_cmp(const unsigned char *cs, size_t scount, |
55 | const unsigned char *ct, size_t tcount) | 55 | const unsigned char *ct, size_t tcount) |
56 | { | 56 | { |
57 | int ret; | ||
58 | if (scount != tcount) | 57 | if (scount != tcount) |
59 | return 1; | 58 | return 1; |
59 | |||
60 | do { | 60 | do { |
61 | ret = (*cs != *ct); | 61 | if (*cs != *ct) |
62 | if (ret) | 62 | return 1; |
63 | break; | ||
64 | cs++; | 63 | cs++; |
65 | ct++; | 64 | ct++; |
66 | tcount--; | 65 | tcount--; |
67 | } while (tcount); | 66 | } while (tcount); |
68 | return ret; | 67 | return 0; |
69 | } | 68 | } |
70 | 69 | ||
71 | /* Name hashing routines. Initial hash value */ | 70 | /* Name hashing routines. Initial hash value */ |
@@ -89,14 +88,7 @@ static inline unsigned long end_name_hash(unsigned long hash) | |||
89 | } | 88 | } |
90 | 89 | ||
91 | /* Compute the hash for a name string. */ | 90 | /* Compute the hash for a name string. */ |
92 | static inline unsigned int | 91 | extern unsigned int full_name_hash(const unsigned char *, unsigned int); |
93 | full_name_hash(const unsigned char *name, unsigned int len) | ||
94 | { | ||
95 | unsigned long hash = init_name_hash(); | ||
96 | while (len--) | ||
97 | hash = partial_name_hash(*name++, hash); | ||
98 | return end_name_hash(hash); | ||
99 | } | ||
100 | 92 | ||
101 | /* | 93 | /* |
102 | * Try to keep struct dentry aligned on 64 byte cachelines (this will | 94 | * Try to keep struct dentry aligned on 64 byte cachelines (this will |
@@ -309,7 +301,8 @@ extern struct dentry *d_ancestor(struct dentry *, struct dentry *); | |||
309 | extern struct dentry *d_lookup(struct dentry *, struct qstr *); | 301 | extern struct dentry *d_lookup(struct dentry *, struct qstr *); |
310 | extern struct dentry *d_hash_and_lookup(struct dentry *, struct qstr *); | 302 | extern struct dentry *d_hash_and_lookup(struct dentry *, struct qstr *); |
311 | extern struct dentry *__d_lookup(struct dentry *, struct qstr *); | 303 | extern struct dentry *__d_lookup(struct dentry *, struct qstr *); |
312 | extern struct dentry *__d_lookup_rcu(struct dentry *parent, struct qstr *name, | 304 | extern struct dentry *__d_lookup_rcu(const struct dentry *parent, |
305 | const struct qstr *name, | ||
313 | unsigned *seq, struct inode **inode); | 306 | unsigned *seq, struct inode **inode); |
314 | 307 | ||
315 | /** | 308 | /** |
diff --git a/include/linux/digsig.h b/include/linux/digsig.h index b01558b15814..6f85a070bb45 100644 --- a/include/linux/digsig.h +++ b/include/linux/digsig.h | |||
@@ -30,7 +30,7 @@ enum digest_algo { | |||
30 | 30 | ||
31 | struct pubkey_hdr { | 31 | struct pubkey_hdr { |
32 | uint8_t version; /* key format version */ | 32 | uint8_t version; /* key format version */ |
33 | time_t timestamp; /* key made, always 0 for now */ | 33 | uint32_t timestamp; /* key made, always 0 for now */ |
34 | uint8_t algo; | 34 | uint8_t algo; |
35 | uint8_t nmpi; | 35 | uint8_t nmpi; |
36 | char mpi[0]; | 36 | char mpi[0]; |
@@ -38,7 +38,7 @@ struct pubkey_hdr { | |||
38 | 38 | ||
39 | struct signature_hdr { | 39 | struct signature_hdr { |
40 | uint8_t version; /* signature format version */ | 40 | uint8_t version; /* signature format version */ |
41 | time_t timestamp; /* signature made */ | 41 | uint32_t timestamp; /* signature made */ |
42 | uint8_t algo; | 42 | uint8_t algo; |
43 | uint8_t hash; | 43 | uint8_t hash; |
44 | uint8_t keyid[8]; | 44 | uint8_t keyid[8]; |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 386da09f229d..69cd5bb640f5 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -2496,6 +2496,7 @@ extern void get_filesystem(struct file_system_type *fs); | |||
2496 | extern void put_filesystem(struct file_system_type *fs); | 2496 | extern void put_filesystem(struct file_system_type *fs); |
2497 | extern struct file_system_type *get_fs_type(const char *name); | 2497 | extern struct file_system_type *get_fs_type(const char *name); |
2498 | extern struct super_block *get_super(struct block_device *); | 2498 | extern struct super_block *get_super(struct block_device *); |
2499 | extern struct super_block *get_super_thawed(struct block_device *); | ||
2499 | extern struct super_block *get_active_super(struct block_device *bdev); | 2500 | extern struct super_block *get_active_super(struct block_device *bdev); |
2500 | extern void drop_super(struct super_block *sb); | 2501 | extern void drop_super(struct super_block *sb); |
2501 | extern void iterate_supers(void (*)(struct super_block *, void *), void *); | 2502 | extern void iterate_supers(void (*)(struct super_block *, void *), void *); |
diff --git a/include/linux/if_link.h b/include/linux/if_link.h index c52d4b5f872a..4b24ff453aee 100644 --- a/include/linux/if_link.h +++ b/include/linux/if_link.h | |||
@@ -137,6 +137,7 @@ enum { | |||
137 | IFLA_AF_SPEC, | 137 | IFLA_AF_SPEC, |
138 | IFLA_GROUP, /* Group the device belongs to */ | 138 | IFLA_GROUP, /* Group the device belongs to */ |
139 | IFLA_NET_NS_FD, | 139 | IFLA_NET_NS_FD, |
140 | IFLA_EXT_MASK, /* Extended info mask, VFs, etc */ | ||
140 | __IFLA_MAX | 141 | __IFLA_MAX |
141 | }; | 142 | }; |
142 | 143 | ||
diff --git a/include/linux/netfilter_bridge/ebtables.h b/include/linux/netfilter_bridge/ebtables.h index 8797ed16feb2..4dd5bd6994a8 100644 --- a/include/linux/netfilter_bridge/ebtables.h +++ b/include/linux/netfilter_bridge/ebtables.h | |||
@@ -285,8 +285,8 @@ struct ebt_table { | |||
285 | struct module *me; | 285 | struct module *me; |
286 | }; | 286 | }; |
287 | 287 | ||
288 | #define EBT_ALIGN(s) (((s) + (__alignof__(struct ebt_replace)-1)) & \ | 288 | #define EBT_ALIGN(s) (((s) + (__alignof__(struct _xt_align)-1)) & \ |
289 | ~(__alignof__(struct ebt_replace)-1)) | 289 | ~(__alignof__(struct _xt_align)-1)) |
290 | extern struct ebt_table *ebt_register_table(struct net *net, | 290 | extern struct ebt_table *ebt_register_table(struct net *net, |
291 | const struct ebt_table *table); | 291 | const struct ebt_table *table); |
292 | extern void ebt_unregister_table(struct net *net, struct ebt_table *table); | 292 | extern void ebt_unregister_table(struct net *net, struct ebt_table *table); |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index a764cef06b73..d6ba9a12591e 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -614,7 +614,6 @@ struct nfs_getaclargs { | |||
614 | size_t acl_len; | 614 | size_t acl_len; |
615 | unsigned int acl_pgbase; | 615 | unsigned int acl_pgbase; |
616 | struct page ** acl_pages; | 616 | struct page ** acl_pages; |
617 | struct page * acl_scratch; | ||
618 | struct nfs4_sequence_args seq_args; | 617 | struct nfs4_sequence_args seq_args; |
619 | }; | 618 | }; |
620 | 619 | ||
@@ -624,6 +623,7 @@ struct nfs_getaclres { | |||
624 | size_t acl_len; | 623 | size_t acl_len; |
625 | size_t acl_data_offset; | 624 | size_t acl_data_offset; |
626 | int acl_flags; | 625 | int acl_flags; |
626 | struct page * acl_scratch; | ||
627 | struct nfs4_sequence_res seq_res; | 627 | struct nfs4_sequence_res seq_res; |
628 | }; | 628 | }; |
629 | 629 | ||
diff --git a/include/linux/regset.h b/include/linux/regset.h index 8abee6556223..686f37327a49 100644 --- a/include/linux/regset.h +++ b/include/linux/regset.h | |||
@@ -335,8 +335,11 @@ static inline int copy_regset_to_user(struct task_struct *target, | |||
335 | { | 335 | { |
336 | const struct user_regset *regset = &view->regsets[setno]; | 336 | const struct user_regset *regset = &view->regsets[setno]; |
337 | 337 | ||
338 | if (!regset->get) | ||
339 | return -EOPNOTSUPP; | ||
340 | |||
338 | if (!access_ok(VERIFY_WRITE, data, size)) | 341 | if (!access_ok(VERIFY_WRITE, data, size)) |
339 | return -EIO; | 342 | return -EFAULT; |
340 | 343 | ||
341 | return regset->get(target, regset, offset, size, NULL, data); | 344 | return regset->get(target, regset, offset, size, NULL, data); |
342 | } | 345 | } |
@@ -358,8 +361,11 @@ static inline int copy_regset_from_user(struct task_struct *target, | |||
358 | { | 361 | { |
359 | const struct user_regset *regset = &view->regsets[setno]; | 362 | const struct user_regset *regset = &view->regsets[setno]; |
360 | 363 | ||
364 | if (!regset->set) | ||
365 | return -EOPNOTSUPP; | ||
366 | |||
361 | if (!access_ok(VERIFY_READ, data, size)) | 367 | if (!access_ok(VERIFY_READ, data, size)) |
362 | return -EIO; | 368 | return -EFAULT; |
363 | 369 | ||
364 | return regset->set(target, regset, offset, size, NULL, data); | 370 | return regset->set(target, regset, offset, size, NULL, data); |
365 | } | 371 | } |
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 8e872ead88b5..577592ea0ea0 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
@@ -602,6 +602,9 @@ struct tcamsg { | |||
602 | #define TCA_ACT_TAB 1 /* attr type must be >=1 */ | 602 | #define TCA_ACT_TAB 1 /* attr type must be >=1 */ |
603 | #define TCAA_MAX 1 | 603 | #define TCAA_MAX 1 |
604 | 604 | ||
605 | /* New extended info filters for IFLA_EXT_MASK */ | ||
606 | #define RTEXT_FILTER_VF (1 << 0) | ||
607 | |||
605 | /* End of information exported to user level */ | 608 | /* End of information exported to user level */ |
606 | 609 | ||
607 | #ifdef __KERNEL__ | 610 | #ifdef __KERNEL__ |
diff --git a/include/linux/signalfd.h b/include/linux/signalfd.h index 3ff4961da9b5..247399b2979a 100644 --- a/include/linux/signalfd.h +++ b/include/linux/signalfd.h | |||
@@ -61,13 +61,16 @@ static inline void signalfd_notify(struct task_struct *tsk, int sig) | |||
61 | wake_up(&tsk->sighand->signalfd_wqh); | 61 | wake_up(&tsk->sighand->signalfd_wqh); |
62 | } | 62 | } |
63 | 63 | ||
64 | extern void signalfd_cleanup(struct sighand_struct *sighand); | ||
65 | |||
64 | #else /* CONFIG_SIGNALFD */ | 66 | #else /* CONFIG_SIGNALFD */ |
65 | 67 | ||
66 | static inline void signalfd_notify(struct task_struct *tsk, int sig) { } | 68 | static inline void signalfd_notify(struct task_struct *tsk, int sig) { } |
67 | 69 | ||
70 | static inline void signalfd_cleanup(struct sighand_struct *sighand) { } | ||
71 | |||
68 | #endif /* CONFIG_SIGNALFD */ | 72 | #endif /* CONFIG_SIGNALFD */ |
69 | 73 | ||
70 | #endif /* __KERNEL__ */ | 74 | #endif /* __KERNEL__ */ |
71 | 75 | ||
72 | #endif /* _LINUX_SIGNALFD_H */ | 76 | #endif /* _LINUX_SIGNALFD_H */ |
73 | |||
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 50db9b04a552..ae86adee3746 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -1465,6 +1465,16 @@ static inline void skb_set_mac_header(struct sk_buff *skb, const int offset) | |||
1465 | } | 1465 | } |
1466 | #endif /* NET_SKBUFF_DATA_USES_OFFSET */ | 1466 | #endif /* NET_SKBUFF_DATA_USES_OFFSET */ |
1467 | 1467 | ||
1468 | static inline void skb_mac_header_rebuild(struct sk_buff *skb) | ||
1469 | { | ||
1470 | if (skb_mac_header_was_set(skb)) { | ||
1471 | const unsigned char *old_mac = skb_mac_header(skb); | ||
1472 | |||
1473 | skb_set_mac_header(skb, -skb->mac_len); | ||
1474 | memmove(skb_mac_header(skb), old_mac, skb->mac_len); | ||
1475 | } | ||
1476 | } | ||
1477 | |||
1468 | static inline int skb_checksum_start_offset(const struct sk_buff *skb) | 1478 | static inline int skb_checksum_start_offset(const struct sk_buff *skb) |
1469 | { | 1479 | { |
1470 | return skb->csum_start - skb_headroom(skb); | 1480 | return skb->csum_start - skb_headroom(skb); |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 515669fa3c1d..8ec1153ff57b 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -624,7 +624,7 @@ asmlinkage long sys_socketpair(int, int, int, int __user *); | |||
624 | asmlinkage long sys_socketcall(int call, unsigned long __user *args); | 624 | asmlinkage long sys_socketcall(int call, unsigned long __user *args); |
625 | asmlinkage long sys_listen(int, int); | 625 | asmlinkage long sys_listen(int, int); |
626 | asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds, | 626 | asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds, |
627 | long timeout); | 627 | int timeout); |
628 | asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp, | 628 | asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp, |
629 | fd_set __user *exp, struct timeval __user *tvp); | 629 | fd_set __user *exp, struct timeval __user *tvp); |
630 | asmlinkage long sys_old_select(struct sel_arg_struct __user *arg); | 630 | asmlinkage long sys_old_select(struct sel_arg_struct __user *arg); |
diff --git a/include/linux/usb/ch11.h b/include/linux/usb/ch11.h index 31fdb4c6ee3d..0b83acd3360a 100644 --- a/include/linux/usb/ch11.h +++ b/include/linux/usb/ch11.h | |||
@@ -61,12 +61,6 @@ | |||
61 | #define USB_PORT_FEAT_TEST 21 | 61 | #define USB_PORT_FEAT_TEST 21 |
62 | #define USB_PORT_FEAT_INDICATOR 22 | 62 | #define USB_PORT_FEAT_INDICATOR 22 |
63 | #define USB_PORT_FEAT_C_PORT_L1 23 | 63 | #define USB_PORT_FEAT_C_PORT_L1 23 |
64 | #define USB_PORT_FEAT_C_PORT_LINK_STATE 25 | ||
65 | #define USB_PORT_FEAT_C_PORT_CONFIG_ERROR 26 | ||
66 | #define USB_PORT_FEAT_PORT_REMOTE_WAKE_MASK 27 | ||
67 | #define USB_PORT_FEAT_BH_PORT_RESET 28 | ||
68 | #define USB_PORT_FEAT_C_BH_PORT_RESET 29 | ||
69 | #define USB_PORT_FEAT_FORCE_LINKPM_ACCEPT 30 | ||
70 | 64 | ||
71 | /* | 65 | /* |
72 | * Port feature selectors added by USB 3.0 spec. | 66 | * Port feature selectors added by USB 3.0 spec. |
@@ -75,8 +69,8 @@ | |||
75 | #define USB_PORT_FEAT_LINK_STATE 5 | 69 | #define USB_PORT_FEAT_LINK_STATE 5 |
76 | #define USB_PORT_FEAT_U1_TIMEOUT 23 | 70 | #define USB_PORT_FEAT_U1_TIMEOUT 23 |
77 | #define USB_PORT_FEAT_U2_TIMEOUT 24 | 71 | #define USB_PORT_FEAT_U2_TIMEOUT 24 |
78 | #define USB_PORT_FEAT_C_LINK_STATE 25 | 72 | #define USB_PORT_FEAT_C_PORT_LINK_STATE 25 |
79 | #define USB_PORT_FEAT_C_CONFIG_ERR 26 | 73 | #define USB_PORT_FEAT_C_PORT_CONFIG_ERROR 26 |
80 | #define USB_PORT_FEAT_REMOTE_WAKE_MASK 27 | 74 | #define USB_PORT_FEAT_REMOTE_WAKE_MASK 27 |
81 | #define USB_PORT_FEAT_BH_PORT_RESET 28 | 75 | #define USB_PORT_FEAT_BH_PORT_RESET 28 |
82 | #define USB_PORT_FEAT_C_BH_PORT_RESET 29 | 76 | #define USB_PORT_FEAT_C_BH_PORT_RESET 29 |