mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-23 21:19:04 -04:00
Merge branch 'master' into next
Conflicts: fs/nfsd/nfs4recover.c Manually fixed above to use new creds API functions, e.g. nfs4_save_creds(). Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
commit
ec98ce480a
541 changed files with 8260 additions and 4545 deletions
|
|
@ -786,6 +786,8 @@ static inline void blk_run_address_space(struct address_space *mapping)
|
|||
blk_run_backing_dev(mapping->backing_dev_info, NULL);
|
||||
}
|
||||
|
||||
extern void blkdev_dequeue_request(struct request *req);
|
||||
|
||||
/*
|
||||
* blk_end_request() and friends.
|
||||
* __blk_end_request() and end_request() must be called with
|
||||
|
|
@ -820,11 +822,6 @@ extern void blk_update_request(struct request *rq, int error,
|
|||
extern unsigned int blk_rq_bytes(struct request *rq);
|
||||
extern unsigned int blk_rq_cur_bytes(struct request *rq);
|
||||
|
||||
static inline void blkdev_dequeue_request(struct request *req)
|
||||
{
|
||||
elv_dequeue_request(req->q, req);
|
||||
}
|
||||
|
||||
/*
|
||||
* Access functions for manipulating queue properties
|
||||
*/
|
||||
|
|
@ -921,6 +918,8 @@ extern void blk_set_cmd_filter_defaults(struct blk_cmd_filter *filter);
|
|||
|
||||
#define MAX_SEGMENT_SIZE 65536
|
||||
|
||||
#define BLK_SEG_BOUNDARY_MASK 0xFFFFFFFFUL
|
||||
|
||||
#define blkdev_entry_to_request(entry) list_entry((entry), struct request, queuelist)
|
||||
|
||||
static inline int queue_hardsect_size(struct request_queue *q)
|
||||
|
|
|
|||
|
|
@ -252,12 +252,10 @@ extern int compat_ptrace_request(struct task_struct *child,
|
|||
compat_long_t request,
|
||||
compat_ulong_t addr, compat_ulong_t data);
|
||||
|
||||
#ifdef __ARCH_WANT_COMPAT_SYS_PTRACE
|
||||
extern long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
|
||||
compat_ulong_t addr, compat_ulong_t data);
|
||||
asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid,
|
||||
compat_long_t addr, compat_long_t data);
|
||||
#endif /* __ARCH_WANT_COMPAT_SYS_PTRACE */
|
||||
|
||||
/*
|
||||
* epoll (fs/eventpoll.c) compat bits follow ...
|
||||
|
|
|
|||
|
|
@ -74,8 +74,6 @@ static inline int cpuset_do_slab_mem_spread(void)
|
|||
return current->flags & PF_SPREAD_SLAB;
|
||||
}
|
||||
|
||||
extern void cpuset_track_online_nodes(void);
|
||||
|
||||
extern int current_cpuset_is_being_rebound(void);
|
||||
|
||||
extern void rebuild_sched_domains(void);
|
||||
|
|
@ -151,8 +149,6 @@ static inline int cpuset_do_slab_mem_spread(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline void cpuset_track_online_nodes(void) {}
|
||||
|
||||
static inline int current_cpuset_is_being_rebound(void)
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -522,7 +522,9 @@ extern char *disk_name (struct gendisk *hd, int partno, char *buf);
|
|||
|
||||
extern int disk_expand_part_tbl(struct gendisk *disk, int target);
|
||||
extern int rescan_partitions(struct gendisk *disk, struct block_device *bdev);
|
||||
extern int __must_check add_partition(struct gendisk *, int, sector_t, sector_t, int);
|
||||
extern struct hd_struct * __must_check add_partition(struct gendisk *disk,
|
||||
int partno, sector_t start,
|
||||
sector_t len, int flags);
|
||||
extern void delete_partition(struct gendisk *, int);
|
||||
extern void printk_all_partitions(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -63,12 +63,14 @@ static inline void *kmap_atomic(struct page *page, enum km_type idx)
|
|||
#endif /* CONFIG_HIGHMEM */
|
||||
|
||||
/* when CONFIG_HIGHMEM is not set these will be plain clear/copy_page */
|
||||
#ifndef clear_user_highpage
|
||||
static inline void clear_user_highpage(struct page *page, unsigned long vaddr)
|
||||
{
|
||||
void *addr = kmap_atomic(page, KM_USER0);
|
||||
clear_user_page(addr, vaddr, page);
|
||||
kunmap_atomic(addr, KM_USER0);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1296,6 +1296,13 @@ extern int __ide_pci_register_driver(struct pci_driver *driver, struct module *o
|
|||
#define ide_pci_register_driver(d) pci_register_driver(d)
|
||||
#endif
|
||||
|
||||
static inline int ide_pci_is_in_compatibility_mode(struct pci_dev *dev)
|
||||
{
|
||||
if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE && (dev->class & 5) != 5)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ide_pci_setup_ports(struct pci_dev *, const struct ide_port_info *, int,
|
||||
hw_regs_t *, hw_regs_t **);
|
||||
void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *);
|
||||
|
|
@ -1375,6 +1382,7 @@ enum {
|
|||
IDE_HFLAG_IO_32BIT = (1 << 24),
|
||||
/* unmask IRQs */
|
||||
IDE_HFLAG_UNMASK_IRQS = (1 << 25),
|
||||
IDE_HFLAG_BROKEN_ALTSTATUS = (1 << 26),
|
||||
/* serialize ports if DMA is possible (for sl82c105) */
|
||||
IDE_HFLAG_SERIALIZE_DMA = (1 << 27),
|
||||
/* force host out of "simplex" mode */
|
||||
|
|
|
|||
|
|
@ -52,13 +52,14 @@ struct idr_layer {
|
|||
unsigned long bitmap; /* A zero bit means "space here" */
|
||||
struct idr_layer *ary[1<<IDR_BITS];
|
||||
int count; /* When zero, we can release it */
|
||||
int layer; /* distance from leaf */
|
||||
struct rcu_head rcu_head;
|
||||
};
|
||||
|
||||
struct idr {
|
||||
struct idr_layer *top;
|
||||
struct idr_layer *id_free;
|
||||
int layers;
|
||||
int layers; /* only valid without concurrent changes */
|
||||
int id_free_cnt;
|
||||
spinlock_t lock;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -63,7 +63,8 @@ typedef void (*irq_flow_handler_t)(unsigned int irq,
|
|||
#define IRQ_MOVE_PENDING 0x00200000 /* need to re-target IRQ destination */
|
||||
#define IRQ_NO_BALANCING 0x00400000 /* IRQ is excluded from balancing */
|
||||
#define IRQ_SPURIOUS_DISABLED 0x00800000 /* IRQ was disabled by the spurious trap */
|
||||
#define IRQ_MOVE_PCNTXT 0x01000000 /* IRQ migration from process context */
|
||||
#define IRQ_MOVE_PCNTXT 0x01000000 /* IRQ migration from process context */
|
||||
#define IRQ_AFFINITY_SET 0x02000000 /* IRQ affinity was set from userspace*/
|
||||
|
||||
#ifdef CONFIG_IRQ_PER_CPU
|
||||
# define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU)
|
||||
|
|
@ -130,7 +131,7 @@ struct irq_chip {
|
|||
|
||||
/**
|
||||
* struct irq_desc - interrupt descriptor
|
||||
*
|
||||
* @irq: interrupt number for this descriptor
|
||||
* @handle_irq: highlevel irq-events handler [if NULL, __do_IRQ()]
|
||||
* @chip: low level interrupt hardware access
|
||||
* @msi_desc: MSI descriptor
|
||||
|
|
@ -149,7 +150,6 @@ struct irq_chip {
|
|||
* @cpu: cpu index useful for balancing
|
||||
* @pending_mask: pending rebalanced interrupts
|
||||
* @dir: /proc/irq/ procfs entry
|
||||
* @affinity_entry: /proc/irq/smp_affinity procfs entry on SMP
|
||||
* @name: flow handler name for /proc/interrupts output
|
||||
*/
|
||||
struct irq_desc {
|
||||
|
|
@ -210,7 +210,6 @@ extern int setup_irq(unsigned int irq, struct irqaction *new);
|
|||
|
||||
#ifdef CONFIG_GENERIC_PENDING_IRQ
|
||||
|
||||
void set_pending_irq(unsigned int irq, cpumask_t mask);
|
||||
void move_native_irq(int irq);
|
||||
void move_masked_irq(int irq);
|
||||
|
||||
|
|
@ -228,10 +227,6 @@ static inline void move_masked_irq(int irq)
|
|||
{
|
||||
}
|
||||
|
||||
static inline void set_pending_irq(unsigned int irq, cpumask_t mask)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* CONFIG_GENERIC_PENDING_IRQ */
|
||||
|
||||
#else /* CONFIG_SMP */
|
||||
|
|
|
|||
|
|
@ -375,6 +375,7 @@ enum {
|
|||
ATA_HORKAGE_BRIDGE_OK = (1 << 10), /* no bridge limits */
|
||||
ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands
|
||||
not multiple of 16 bytes */
|
||||
ATA_HORKAGE_FIRMWARE_WARN = (1 << 12), /* firwmare update warning */
|
||||
|
||||
/* DMA mask for user DMA control: User visible values; DO NOT
|
||||
renumber */
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ extern int memory_notify(unsigned long val, void *v);
|
|||
|
||||
#ifdef CONFIG_MEMORY_HOTPLUG
|
||||
#define hotplug_memory_notifier(fn, pri) { \
|
||||
static struct notifier_block fn##_mem_nb = \
|
||||
static __meminitdata struct notifier_block fn##_mem_nb =\
|
||||
{ .notifier_call = fn, .priority = pri }; \
|
||||
register_memory_notifier(&fn##_mem_nb); \
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,6 +179,7 @@ struct mlx4_caps {
|
|||
int num_ports;
|
||||
int vl_cap[MLX4_MAX_PORTS + 1];
|
||||
int ib_mtu_cap[MLX4_MAX_PORTS + 1];
|
||||
__be32 ib_port_def_cap[MLX4_MAX_PORTS + 1];
|
||||
u64 def_mac[MLX4_MAX_PORTS + 1];
|
||||
int eth_mtu_cap[MLX4_MAX_PORTS + 1];
|
||||
int gid_table_len[MLX4_MAX_PORTS + 1];
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
#define SYS_GETSOCKOPT 15 /* sys_getsockopt(2) */
|
||||
#define SYS_SENDMSG 16 /* sys_sendmsg(2) */
|
||||
#define SYS_RECVMSG 17 /* sys_recvmsg(2) */
|
||||
#define SYS_PACCEPT 18 /* sys_paccept(2) */
|
||||
#define SYS_ACCEPT4 18 /* sys_accept4(2) */
|
||||
|
||||
typedef enum {
|
||||
SS_FREE = 0, /* not allocated */
|
||||
|
|
@ -100,7 +100,7 @@ enum sock_type {
|
|||
* remaining bits are used as flags. */
|
||||
#define SOCK_TYPE_MASK 0xf
|
||||
|
||||
/* Flags for socket, socketpair, paccept */
|
||||
/* Flags for socket, socketpair, accept4 */
|
||||
#define SOCK_CLOEXEC O_CLOEXEC
|
||||
#ifndef SOCK_NONBLOCK
|
||||
#define SOCK_NONBLOCK O_NONBLOCK
|
||||
|
|
@ -223,8 +223,6 @@ extern int sock_map_fd(struct socket *sock, int flags);
|
|||
extern struct socket *sockfd_lookup(int fd, int *err);
|
||||
#define sockfd_put(sock) fput(sock->file)
|
||||
extern int net_ratelimit(void);
|
||||
extern long do_accept(int fd, struct sockaddr __user *upeer_sockaddr,
|
||||
int __user *upeer_addrlen, int flags);
|
||||
|
||||
#define net_random() random32()
|
||||
#define net_srandom(seed) srandom32((__force u32)seed)
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ struct xt_target_param {
|
|||
*/
|
||||
struct xt_tgchk_param {
|
||||
const char *table;
|
||||
void *entryinfo;
|
||||
const void *entryinfo;
|
||||
const struct xt_target *target;
|
||||
void *targinfo;
|
||||
unsigned int hook_mask;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ struct page_cgroup {
|
|||
struct list_head lru; /* per cgroup LRU list */
|
||||
};
|
||||
|
||||
void __init pgdat_page_cgroup_init(struct pglist_data *pgdat);
|
||||
void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat);
|
||||
void __init page_cgroup_init(void);
|
||||
struct page_cgroup *lookup_page_cgroup(struct page *page);
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ static inline void unlock_page_cgroup(struct page_cgroup *pc)
|
|||
#else /* CONFIG_CGROUP_MEM_RES_CTLR */
|
||||
struct page_cgroup;
|
||||
|
||||
static inline void pgdat_page_cgroup_init(struct pglist_data *pgdat)
|
||||
static inline void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -120,6 +120,9 @@ unsigned long ring_buffer_overruns(struct ring_buffer *buffer);
|
|||
u64 ring_buffer_time_stamp(int cpu);
|
||||
void ring_buffer_normalize_time_stamp(int cpu, u64 *ts);
|
||||
|
||||
void tracing_on(void);
|
||||
void tracing_off(void);
|
||||
|
||||
enum ring_buffer_flags {
|
||||
RB_FL_OVERWRITE = 1 << 0,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -624,6 +624,10 @@ struct user_struct {
|
|||
atomic_t inotify_watches; /* How many inotify watches does this user have? */
|
||||
atomic_t inotify_devs; /* How many inotify devs does this user have opened? */
|
||||
#endif
|
||||
#ifdef CONFIG_EPOLL
|
||||
atomic_t epoll_devs; /* The number of epoll descriptors currently open */
|
||||
atomic_t epoll_watches; /* The number of file descriptors currently watched */
|
||||
#endif
|
||||
#ifdef CONFIG_POSIX_MQUEUE
|
||||
/* protected by mq_lock */
|
||||
unsigned long mq_bytes; /* How many bytes can be allocated to mqueue? */
|
||||
|
|
|
|||
|
|
@ -1797,19 +1797,23 @@ static inline int security_settime(struct timespec *ts, struct timezone *tz)
|
|||
|
||||
static inline int security_vm_enough_memory(long pages)
|
||||
{
|
||||
return cap_vm_enough_memory(current->mm, pages);
|
||||
}
|
||||
|
||||
static inline int security_vm_enough_memory_kern(long pages)
|
||||
{
|
||||
WARN_ON(current->mm == NULL);
|
||||
return cap_vm_enough_memory(current->mm, pages);
|
||||
}
|
||||
|
||||
static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
|
||||
{
|
||||
WARN_ON(mm == NULL);
|
||||
return cap_vm_enough_memory(mm, pages);
|
||||
}
|
||||
|
||||
static inline int security_vm_enough_memory_kern(long pages)
|
||||
{
|
||||
/* If current->mm is a kernel thread then we will pass NULL,
|
||||
for this specific case that is fine */
|
||||
return cap_vm_enough_memory(current->mm, pages);
|
||||
}
|
||||
|
||||
static inline int security_bprm_set_creds(struct linux_binprm *bprm)
|
||||
{
|
||||
return cap_bprm_set_creds(bprm);
|
||||
|
|
|
|||
|
|
@ -410,8 +410,7 @@ asmlinkage long sys_getsockopt(int fd, int level, int optname,
|
|||
asmlinkage long sys_bind(int, struct sockaddr __user *, int);
|
||||
asmlinkage long sys_connect(int, struct sockaddr __user *, int);
|
||||
asmlinkage long sys_accept(int, struct sockaddr __user *, int __user *);
|
||||
asmlinkage long sys_paccept(int, struct sockaddr __user *, int __user *,
|
||||
const __user sigset_t *, size_t, int);
|
||||
asmlinkage long sys_accept4(int, struct sockaddr __user *, int __user *, int);
|
||||
asmlinkage long sys_getsockname(int, struct sockaddr __user *, int __user *);
|
||||
asmlinkage long sys_getpeername(int, struct sockaddr __user *, int __user *);
|
||||
asmlinkage long sys_send(int, void __user *, size_t, unsigned);
|
||||
|
|
|
|||
Loading…
Reference in a new issue