Merge tag 'v3.10.107' into update
This is the 3.10.107 stable release
This commit is contained in:
@@ -40,8 +40,6 @@ struct inode;
|
||||
struct dentry;
|
||||
struct user_namespace;
|
||||
|
||||
struct user_namespace *current_user_ns(void);
|
||||
|
||||
extern const kernel_cap_t __cap_empty_set;
|
||||
extern const kernel_cap_t __cap_init_eff_set;
|
||||
|
||||
|
||||
@@ -345,7 +345,10 @@ extern struct user_namespace init_user_ns;
|
||||
#ifdef CONFIG_USER_NS
|
||||
#define current_user_ns() (current_cred_xxx(user_ns))
|
||||
#else
|
||||
#define current_user_ns() (&init_user_ns)
|
||||
static inline struct user_namespace *current_user_ns(void)
|
||||
{
|
||||
return &init_user_ns;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
+2
-11
@@ -15,12 +15,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/bitops.h>
|
||||
|
||||
/*
|
||||
* deal with unrepresentable constant logarithms
|
||||
*/
|
||||
extern __attribute__((const, noreturn))
|
||||
int ____ilog2_NaN(void);
|
||||
|
||||
/*
|
||||
* non-constant log of base 2 calculators
|
||||
* - the arch may override these in asm/bitops.h if they can be implemented
|
||||
@@ -85,7 +79,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
|
||||
#define ilog2(n) \
|
||||
( \
|
||||
__builtin_constant_p(n) ? ( \
|
||||
(n) < 1 ? ____ilog2_NaN() : \
|
||||
(n) < 2 ? 0 : \
|
||||
(n) & (1ULL << 63) ? 63 : \
|
||||
(n) & (1ULL << 62) ? 62 : \
|
||||
(n) & (1ULL << 61) ? 61 : \
|
||||
@@ -148,10 +142,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
|
||||
(n) & (1ULL << 4) ? 4 : \
|
||||
(n) & (1ULL << 3) ? 3 : \
|
||||
(n) & (1ULL << 2) ? 2 : \
|
||||
(n) & (1ULL << 1) ? 1 : \
|
||||
(n) & (1ULL << 0) ? 0 : \
|
||||
____ilog2_NaN() \
|
||||
) : \
|
||||
1 ) : \
|
||||
(sizeof(n) <= 4) ? \
|
||||
__ilog2_u32(n) : \
|
||||
__ilog2_u64(n) \
|
||||
|
||||
+25
-28
@@ -1073,34 +1073,6 @@ int set_page_dirty(struct page *page);
|
||||
int set_page_dirty_lock(struct page *page);
|
||||
int clear_page_dirty_for_io(struct page *page);
|
||||
|
||||
/* Is the vma a continuation of the stack vma above it? */
|
||||
static inline int vma_growsdown(struct vm_area_struct *vma, unsigned long addr)
|
||||
{
|
||||
return vma && (vma->vm_end == addr) && (vma->vm_flags & VM_GROWSDOWN);
|
||||
}
|
||||
|
||||
static inline int stack_guard_page_start(struct vm_area_struct *vma,
|
||||
unsigned long addr)
|
||||
{
|
||||
return (vma->vm_flags & VM_GROWSDOWN) &&
|
||||
(vma->vm_start == addr) &&
|
||||
!vma_growsdown(vma->vm_prev, addr);
|
||||
}
|
||||
|
||||
/* Is the vma a continuation of the stack vma below it? */
|
||||
static inline int vma_growsup(struct vm_area_struct *vma, unsigned long addr)
|
||||
{
|
||||
return vma && (vma->vm_start == addr) && (vma->vm_flags & VM_GROWSUP);
|
||||
}
|
||||
|
||||
static inline int stack_guard_page_end(struct vm_area_struct *vma,
|
||||
unsigned long addr)
|
||||
{
|
||||
return (vma->vm_flags & VM_GROWSUP) &&
|
||||
(vma->vm_end == addr) &&
|
||||
!vma_growsup(vma->vm_next, addr);
|
||||
}
|
||||
|
||||
extern pid_t
|
||||
vm_is_stack(struct task_struct *task, struct vm_area_struct *vma, int in_group);
|
||||
|
||||
@@ -1626,6 +1598,7 @@ unsigned long ra_submit(struct file_ra_state *ra,
|
||||
struct address_space *mapping,
|
||||
struct file *filp);
|
||||
|
||||
extern unsigned long stack_guard_gap;
|
||||
/* Generic expand stack which grows the stack according to GROWS{UP,DOWN} */
|
||||
extern int expand_stack(struct vm_area_struct *vma, unsigned long address);
|
||||
|
||||
@@ -1654,6 +1627,30 @@ static inline struct vm_area_struct * find_vma_intersection(struct mm_struct * m
|
||||
return vma;
|
||||
}
|
||||
|
||||
static inline unsigned long vm_start_gap(struct vm_area_struct *vma)
|
||||
{
|
||||
unsigned long vm_start = vma->vm_start;
|
||||
|
||||
if (vma->vm_flags & VM_GROWSDOWN) {
|
||||
vm_start -= stack_guard_gap;
|
||||
if (vm_start > vma->vm_start)
|
||||
vm_start = 0;
|
||||
}
|
||||
return vm_start;
|
||||
}
|
||||
|
||||
static inline unsigned long vm_end_gap(struct vm_area_struct *vma)
|
||||
{
|
||||
unsigned long vm_end = vma->vm_end;
|
||||
|
||||
if (vma->vm_flags & VM_GROWSUP) {
|
||||
vm_end += stack_guard_gap;
|
||||
if (vm_end < vma->vm_end)
|
||||
vm_end = -PAGE_SIZE;
|
||||
}
|
||||
return vm_end;
|
||||
}
|
||||
|
||||
static inline unsigned long vma_pages(struct vm_area_struct *vma)
|
||||
{
|
||||
return (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
|
||||
|
||||
@@ -223,7 +223,7 @@ enum nfsstat4 {
|
||||
|
||||
static inline bool seqid_mutating_err(u32 err)
|
||||
{
|
||||
/* rfc 3530 section 8.1.5: */
|
||||
/* See RFC 7530, section 9.1.7 */
|
||||
switch (err) {
|
||||
case NFS4ERR_STALE_CLIENTID:
|
||||
case NFS4ERR_STALE_STATEID:
|
||||
@@ -232,6 +232,7 @@ static inline bool seqid_mutating_err(u32 err)
|
||||
case NFS4ERR_BADXDR:
|
||||
case NFS4ERR_RESOURCE:
|
||||
case NFS4ERR_NOFILEHANDLE:
|
||||
case NFS4ERR_MOVED:
|
||||
return false;
|
||||
};
|
||||
return true;
|
||||
|
||||
@@ -158,5 +158,6 @@ struct can_filter {
|
||||
};
|
||||
|
||||
#define CAN_INV_FILTER 0x20000000U /* to be set in can_filter.can_id */
|
||||
#define CAN_RAW_FILTER_MAX 512 /* maximum number of can_filter set via setsockopt() */
|
||||
|
||||
#endif /* CAN_H */
|
||||
|
||||
@@ -63,7 +63,7 @@ struct packet_diag_mclist {
|
||||
__u32 pdmc_count;
|
||||
__u16 pdmc_type;
|
||||
__u16 pdmc_alen;
|
||||
__u8 pdmc_addr[MAX_ADDR_LEN];
|
||||
__u8 pdmc_addr[32]; /* MAX_ADDR_LEN */
|
||||
};
|
||||
|
||||
struct packet_diag_ring {
|
||||
|
||||
Reference in New Issue
Block a user