# HG changeset patch
# User emellor@xxxxxxxxxxxxxxxxxxxxxx
# Node ID d6034e0e95fc98c7d4c74dec51f3b23db170acfc
# Parent 8aabf8959595e676f05f08ab17e25575982b1438
# Parent ef449cd53ccaa9f16fc9fc073cae210f5c7ed4ad
Merged.
diff -r 8aabf8959595 -r d6034e0e95fc
linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_32
--- a/linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_32 Wed Nov
23 19:16:54 2005
+++ b/linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_32 Wed Nov
23 19:19:04 2005
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.12.6-xen
-# Mon Nov 21 10:35:31 2005
+# Wed Nov 23 08:19:49 2005
#
CONFIG_XEN=y
CONFIG_ARCH_XEN=y
@@ -1611,7 +1611,7 @@
#
# Userland interfaces
#
-CONFIG_INPUT_MOUSEDEV=m
+CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
diff -r 8aabf8959595 -r d6034e0e95fc
linux-2.6-xen-sparse/arch/xen/kernel/devmem.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/devmem.c Wed Nov 23 19:16:54 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/devmem.c Wed Nov 23 19:19:04 2005
@@ -45,7 +45,7 @@
{
unsigned long i, p = *ppos;
ssize_t read = -EFAULT;
- void *v;
+ void __iomem *v;
if ((v = ioremap(p, count)) == NULL) {
/*
@@ -75,7 +75,7 @@
{
unsigned long p = *ppos;
ssize_t written = -EFAULT;
- void *v;
+ void __iomem *v;
if ((v = ioremap(p, count)) == NULL)
return -EFAULT;
diff -r 8aabf8959595 -r d6034e0e95fc
linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Wed Nov 23
19:16:54 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Wed Nov 23
19:19:04 2005
@@ -441,7 +441,7 @@
case CDROMMULTISESSION:
DPRINTK("FIXME: support multisession CDs later\n");
for (i = 0; i < sizeof(struct cdrom_multisession); i++)
- if (put_user(0, (char *)(argument + i)))
+ if (put_user(0, (char __user *)(argument + i)))
return -EFAULT;
return 0;
diff -r 8aabf8959595 -r d6034e0e95fc
linux-2.6-xen-sparse/drivers/xen/evtchn/evtchn.c
--- a/linux-2.6-xen-sparse/drivers/xen/evtchn/evtchn.c Wed Nov 23 19:16:54 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/evtchn/evtchn.c Wed Nov 23 19:19:04 2005
@@ -89,7 +89,7 @@
spin_unlock(&port_user_lock);
}
-static ssize_t evtchn_read(struct file *file, char *buf,
+static ssize_t evtchn_read(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
{
int rc;
@@ -168,7 +168,7 @@
return rc;
}
-static ssize_t evtchn_write(struct file *file, const char *buf,
+static ssize_t evtchn_write(struct file *file, const char __user *buf,
size_t count, loff_t *ppos)
{
int rc, i;
@@ -220,6 +220,7 @@
{
int rc;
struct per_user_data *u = file->private_data;
+ void __user *uarg = (void __user *) arg;
evtchn_op_t op = { 0 };
switch (cmd) {
@@ -227,7 +228,7 @@
struct ioctl_evtchn_bind_virq bind;
rc = -EFAULT;
- if (copy_from_user(&bind, (void *)arg, sizeof(bind)))
+ if (copy_from_user(&bind, uarg, sizeof(bind)))
break;
op.cmd = EVTCHNOP_bind_virq;
@@ -246,7 +247,7 @@
struct ioctl_evtchn_bind_interdomain bind;
rc = -EFAULT;
- if (copy_from_user(&bind, (void *)arg, sizeof(bind)))
+ if (copy_from_user(&bind, uarg, sizeof(bind)))
break;
op.cmd = EVTCHNOP_bind_interdomain;
@@ -265,7 +266,7 @@
struct ioctl_evtchn_bind_unbound_port bind;
rc = -EFAULT;
- if (copy_from_user(&bind, (void *)arg, sizeof(bind)))
+ if (copy_from_user(&bind, uarg, sizeof(bind)))
break;
op.cmd = EVTCHNOP_alloc_unbound;
@@ -285,7 +286,7 @@
int ret;
rc = -EFAULT;
- if (copy_from_user(&unbind, (void *)arg, sizeof(unbind)))
+ if (copy_from_user(&unbind, uarg, sizeof(unbind)))
break;
rc = -EINVAL;
@@ -318,7 +319,7 @@
struct ioctl_evtchn_notify notify;
rc = -EFAULT;
- if (copy_from_user(¬ify, (void *)arg, sizeof(notify)))
+ if (copy_from_user(¬ify, uarg, sizeof(notify)))
break;
if (notify.port >= NR_EVENT_CHANNELS) {
diff -r 8aabf8959595 -r d6034e0e95fc
linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c
--- a/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Wed Nov 23
19:16:54 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Wed Nov 23
19:19:04 2005
@@ -38,13 +38,13 @@
unsigned int cmd, unsigned long data)
{
int ret = -ENOSYS;
+ void __user *udata = (void __user *) data;
switch (cmd) {
case IOCTL_PRIVCMD_HYPERCALL: {
privcmd_hypercall_t hypercall;
- if (copy_from_user(&hypercall, (void *)data,
- sizeof(hypercall)))
+ if (copy_from_user(&hypercall, udata, sizeof(hypercall)))
return -EFAULT;
#if defined(__i386__)
@@ -97,10 +97,11 @@
case IOCTL_PRIVCMD_MMAP: {
#define PRIVCMD_MMAP_SZ 32
privcmd_mmap_t mmapcmd;
- privcmd_mmap_entry_t msg[PRIVCMD_MMAP_SZ], *p;
+ privcmd_mmap_entry_t msg[PRIVCMD_MMAP_SZ];
+ privcmd_mmap_entry_t __user *p;
int i, rc;
- if (copy_from_user(&mmapcmd, (void *)data, sizeof(mmapcmd)))
+ if (copy_from_user(&mmapcmd, udata, sizeof(mmapcmd)))
return -EFAULT;
p = mmapcmd.entry;
@@ -146,12 +147,12 @@
mmu_update_t u;
privcmd_mmapbatch_t m;
struct vm_area_struct *vma = NULL;
- unsigned long *p, addr;
- unsigned long mfn;
+ unsigned long __user *p;
+ unsigned long addr, mfn;
uint64_t ptep;
int i;
- if (copy_from_user(&m, (void *)data, sizeof(m))) {
+ if (copy_from_user(&m, udata, sizeof(m))) {
ret = -EFAULT;
goto batch_err;
}
@@ -219,7 +220,7 @@
pmd_t *pmd;
unsigned long m2pv, m2p_mfn;
privcmd_m2pmfns_t m;
- unsigned long *p;
+ unsigned long __user *p;
int i;
#if defined (__x86_64__)
@@ -233,7 +234,8 @@
ret = -EINVAL;
break;
#endif
- if (copy_from_user(&m, (void *)data, sizeof(m)))
+
+ if (copy_from_user(&m, udata, sizeof(m)))
return -EFAULT;
m2pv = (unsigned long)machine_to_phys_mapping;
diff -r 8aabf8959595 -r d6034e0e95fc linux-2.6-xen-sparse/drivers/xen/util.c
--- a/linux-2.6-xen-sparse/drivers/xen/util.c Wed Nov 23 19:16:54 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/util.c Wed Nov 23 19:19:04 2005
@@ -56,7 +56,7 @@
* page-fault path will copy the page directory pointers from init_mm.
*/
for (i = 0; i < area->size; i += PAGE_SIZE)
- (void)__get_user(c, (char *)area->addr + i);
+ (void)__get_user(c, (char __user *)area->addr + i);
}
void unlock_vm_area(struct vm_struct *area)
diff -r 8aabf8959595 -r d6034e0e95fc
linux-2.6-xen-sparse/include/asm-xen/linux-public/privcmd.h
--- a/linux-2.6-xen-sparse/include/asm-xen/linux-public/privcmd.h Wed Nov
23 19:16:54 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/linux-public/privcmd.h Wed Nov
23 19:19:04 2005
@@ -30,6 +30,10 @@
#ifndef __LINUX_PUBLIC_PRIVCMD_H__
#define __LINUX_PUBLIC_PRIVCMD_H__
+#ifndef __user
+#define __user
+#endif
+
typedef struct privcmd_hypercall
{
unsigned long op;
@@ -45,19 +49,19 @@
typedef struct privcmd_mmap {
int num;
domid_t dom; /* target domain */
- privcmd_mmap_entry_t *entry;
+ privcmd_mmap_entry_t __user *entry;
} privcmd_mmap_t;
typedef struct privcmd_mmapbatch {
int num; /* number of pages to populate */
domid_t dom; /* target domain */
unsigned long addr; /* virtual address */
- unsigned long *arr; /* array of mfns - top nibble set on err */
+ unsigned long __user *arr; /* array of mfns - top nibble set on err */
} privcmd_mmapbatch_t;
typedef struct privcmd_m2pmfns {
int num; /* max number of mfns to return */
- unsigned long *arr; /* array of mfns */
+ unsigned long __user *arr; /* array of mfns */
} privcmd_m2pmfns_t;
typedef struct privcmd_blkmsg
diff -r 8aabf8959595 -r d6034e0e95fc xen/include/asm-x86/apic.h
--- a/xen/include/asm-x86/apic.h Wed Nov 23 19:16:54 2005
+++ b/xen/include/asm-x86/apic.h Wed Nov 23 19:19:04 2005
@@ -43,7 +43,7 @@
static __inline void apic_write_atomic(unsigned long reg, u32 v)
{
- xchg((volatile u32 *)(APIC_BASE+reg), v);
+ (void)xchg((volatile u32 *)(APIC_BASE+reg), v);
}
static __inline u32 apic_read(unsigned long reg)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|