Merge tag 'v3.10.106' into update
This is the 3.10.106 stable release
This commit is contained in:
+17
-1
@@ -393,5 +393,21 @@ static inline int crypto_requires_sync(u32 type, u32 mask)
|
||||
return (type ^ CRYPTO_ALG_ASYNC) & mask & CRYPTO_ALG_ASYNC;
|
||||
}
|
||||
|
||||
#endif /* _CRYPTO_ALGAPI_H */
|
||||
noinline unsigned long __crypto_memneq(const void *a, const void *b, size_t size);
|
||||
|
||||
/**
|
||||
* crypto_memneq - Compare two areas of memory without leaking
|
||||
* timing information.
|
||||
*
|
||||
* @a: One area of memory
|
||||
* @b: Another area of memory
|
||||
* @size: The size of the area.
|
||||
*
|
||||
* Returns 0 when data is equal, 1 otherwise.
|
||||
*/
|
||||
static inline int crypto_memneq(const void *a, const void *b, size_t size)
|
||||
{
|
||||
return __crypto_memneq(a, b, size) != 0UL ? 1 : 0;
|
||||
}
|
||||
|
||||
#endif /* _CRYPTO_ALGAPI_H */
|
||||
|
||||
@@ -45,10 +45,9 @@ struct can_proto {
|
||||
extern int can_proto_register(const struct can_proto *cp);
|
||||
extern void can_proto_unregister(const struct can_proto *cp);
|
||||
|
||||
extern int can_rx_register(struct net_device *dev, canid_t can_id,
|
||||
canid_t mask,
|
||||
void (*func)(struct sk_buff *, void *),
|
||||
void *data, char *ident);
|
||||
int can_rx_register(struct net_device *dev, canid_t can_id, canid_t mask,
|
||||
void (*func)(struct sk_buff *, void *),
|
||||
void *data, char *ident, struct sock *sk);
|
||||
|
||||
extern void can_rx_unregister(struct net_device *dev, canid_t can_id,
|
||||
canid_t mask,
|
||||
|
||||
+3
-9
@@ -126,22 +126,16 @@ enum {
|
||||
{ .notifier_call = fn, .priority = pri }; \
|
||||
register_cpu_notifier(&fn##_nb); \
|
||||
}
|
||||
#else /* #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) */
|
||||
#define cpu_notifier(fn, pri) do { (void)(fn); } while (0)
|
||||
#endif /* #else #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) */
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
extern int register_cpu_notifier(struct notifier_block *nb);
|
||||
extern void unregister_cpu_notifier(struct notifier_block *nb);
|
||||
#else
|
||||
|
||||
#ifndef MODULE
|
||||
extern int register_cpu_notifier(struct notifier_block *nb);
|
||||
#else
|
||||
#else /* #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) */
|
||||
#define cpu_notifier(fn, pri) do { (void)(fn); } while (0)
|
||||
|
||||
static inline int register_cpu_notifier(struct notifier_block *nb)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline void unregister_cpu_notifier(struct notifier_block *nb)
|
||||
{
|
||||
|
||||
@@ -208,4 +208,20 @@ static inline bool static_key_enabled(struct static_key *key)
|
||||
return (atomic_read(&key->enabled) > 0);
|
||||
}
|
||||
|
||||
static inline void static_key_enable(struct static_key *key)
|
||||
{
|
||||
int count = atomic_read(&key->enabled);
|
||||
|
||||
if (!count)
|
||||
static_key_slow_inc(key);
|
||||
}
|
||||
|
||||
static inline void static_key_disable(struct static_key *key)
|
||||
{
|
||||
int count = atomic_read(&key->enabled);
|
||||
|
||||
if (count)
|
||||
static_key_slow_dec(key);
|
||||
}
|
||||
|
||||
#endif /* _LINUX_JUMP_LABEL_H */
|
||||
|
||||
@@ -145,7 +145,8 @@ struct kvm_io_range {
|
||||
#define NR_IOBUS_DEVS 1000
|
||||
|
||||
struct kvm_io_bus {
|
||||
int dev_count;
|
||||
int dev_count;
|
||||
int ioeventfd_count;
|
||||
struct kvm_io_range range[];
|
||||
};
|
||||
|
||||
@@ -162,8 +163,8 @@ int kvm_io_bus_read(struct kvm *kvm, enum kvm_bus bus_idx, gpa_t addr, int len,
|
||||
void *val);
|
||||
int kvm_io_bus_register_dev(struct kvm *kvm, enum kvm_bus bus_idx, gpa_t addr,
|
||||
int len, struct kvm_io_device *dev);
|
||||
int kvm_io_bus_unregister_dev(struct kvm *kvm, enum kvm_bus bus_idx,
|
||||
struct kvm_io_device *dev);
|
||||
void kvm_io_bus_unregister_dev(struct kvm *kvm, enum kvm_bus bus_idx,
|
||||
struct kvm_io_device *dev);
|
||||
|
||||
#ifdef CONFIG_KVM_ASYNC_PF
|
||||
struct kvm_async_pf {
|
||||
|
||||
@@ -355,7 +355,8 @@ static inline int nlm_privileged_requester(const struct svc_rqst *rqstp)
|
||||
static inline int nlm_compare_locks(const struct file_lock *fl1,
|
||||
const struct file_lock *fl2)
|
||||
{
|
||||
return fl1->fl_pid == fl2->fl_pid
|
||||
return file_inode(fl1->fl_file) == file_inode(fl2->fl_file)
|
||||
&& fl1->fl_pid == fl2->fl_pid
|
||||
&& fl1->fl_owner == fl2->fl_owner
|
||||
&& fl1->fl_start == fl2->fl_start
|
||||
&& fl1->fl_end == fl2->fl_end
|
||||
|
||||
@@ -1729,14 +1729,19 @@ static inline int skb_gro_header_hard(struct sk_buff *skb, unsigned int hlen)
|
||||
return NAPI_GRO_CB(skb)->frag0_len < hlen;
|
||||
}
|
||||
|
||||
static inline void skb_gro_frag0_invalidate(struct sk_buff *skb)
|
||||
{
|
||||
NAPI_GRO_CB(skb)->frag0 = NULL;
|
||||
NAPI_GRO_CB(skb)->frag0_len = 0;
|
||||
}
|
||||
|
||||
static inline void *skb_gro_header_slow(struct sk_buff *skb, unsigned int hlen,
|
||||
unsigned int offset)
|
||||
{
|
||||
if (!pskb_may_pull(skb, hlen))
|
||||
return NULL;
|
||||
|
||||
NAPI_GRO_CB(skb)->frag0 = NULL;
|
||||
NAPI_GRO_CB(skb)->frag0_len = 0;
|
||||
skb_gro_frag0_invalidate(skb);
|
||||
return skb->data + offset;
|
||||
}
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@ extern int posix_acl_permission(struct inode *, const struct posix_acl *, int);
|
||||
extern struct posix_acl *posix_acl_from_mode(umode_t, gfp_t);
|
||||
extern int posix_acl_equiv_mode(const struct posix_acl *, umode_t *);
|
||||
extern int posix_acl_create(struct posix_acl **, gfp_t, umode_t *);
|
||||
extern int posix_acl_update_mode(struct inode *, umode_t *, struct posix_acl **);
|
||||
extern int posix_acl_chmod(struct posix_acl **, gfp_t, umode_t);
|
||||
extern int posix_acl_update_mode(struct inode *, umode_t *, struct posix_acl **);
|
||||
|
||||
|
||||
@@ -303,6 +303,10 @@ static inline int cipso_v4_validate(const struct sk_buff *skb,
|
||||
}
|
||||
|
||||
for (opt_iter = 6; opt_iter < opt_len;) {
|
||||
if (opt_iter + 1 == opt_len) {
|
||||
err_offset = opt_iter;
|
||||
goto out;
|
||||
}
|
||||
tag_len = opt[opt_iter + 1];
|
||||
if ((tag_len == 0) || (opt[opt_iter + 1] > (opt_len - opt_iter))) {
|
||||
err_offset = opt_iter + 1;
|
||||
|
||||
@@ -137,12 +137,12 @@ struct ib_sa_path_rec {
|
||||
union ib_gid sgid;
|
||||
__be16 dlid;
|
||||
__be16 slid;
|
||||
int raw_traffic;
|
||||
u8 raw_traffic;
|
||||
/* reserved */
|
||||
__be32 flow_label;
|
||||
u8 hop_limit;
|
||||
u8 traffic_class;
|
||||
int reversible;
|
||||
u8 reversible;
|
||||
u8 numb_path;
|
||||
__be16 pkey;
|
||||
__be16 qos_class;
|
||||
@@ -193,7 +193,7 @@ struct ib_sa_mcmember_rec {
|
||||
u8 hop_limit;
|
||||
u8 scope;
|
||||
u8 join_state;
|
||||
int proxy_join;
|
||||
u8 proxy_join;
|
||||
};
|
||||
|
||||
/* Service Record Component Mask Sec 15.2.5.14 Ver 1.1 */
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#undef TRACE_SYSTEM
|
||||
#define TRACE_SYSTEM raw_syscalls
|
||||
#undef TRACE_INCLUDE_FILE
|
||||
#define TRACE_INCLUDE_FILE syscalls
|
||||
|
||||
#if !defined(_TRACE_EVENTS_SYSCALLS_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
|
||||
Reference in New Issue
Block a user