diff options
Diffstat (limited to 'drivers/xen')
| -rw-r--r-- | drivers/xen/xen-pciback/conf_space_quirks.c | 2 | ||||
| -rw-r--r-- | drivers/xen/xen-pciback/pci_stub.c | 8 | ||||
| -rw-r--r-- | drivers/xen/xenbus/xenbus_dev_frontend.c | 3 | 
3 files changed, 7 insertions, 6 deletions
| diff --git a/drivers/xen/xen-pciback/conf_space_quirks.c b/drivers/xen/xen-pciback/conf_space_quirks.c index 89d9744ece61..ed593d1042a6 100644 --- a/drivers/xen/xen-pciback/conf_space_quirks.c +++ b/drivers/xen/xen-pciback/conf_space_quirks.c @@ -95,7 +95,7 @@ int xen_pcibk_config_quirks_init(struct pci_dev *dev)  	struct xen_pcibk_config_quirk *quirk;  	int ret = 0; -	quirk = kzalloc(sizeof(*quirk), GFP_ATOMIC); +	quirk = kzalloc(sizeof(*quirk), GFP_KERNEL);  	if (!quirk) {  		ret = -ENOMEM;  		goto out; diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c index 9e480fdebe1f..59661db144e5 100644 --- a/drivers/xen/xen-pciback/pci_stub.c +++ b/drivers/xen/xen-pciback/pci_stub.c @@ -71,7 +71,7 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)  	dev_dbg(&dev->dev, "pcistub_device_alloc\n"); -	psdev = kzalloc(sizeof(*psdev), GFP_ATOMIC); +	psdev = kzalloc(sizeof(*psdev), GFP_KERNEL);  	if (!psdev)  		return NULL; @@ -364,7 +364,7 @@ static int pcistub_init_device(struct pci_dev *dev)  	 * here and then to call kfree(pci_get_drvdata(psdev->dev)).  	 */  	dev_data = kzalloc(sizeof(*dev_data) +  strlen(DRV_NAME "[]") -				+ strlen(pci_name(dev)) + 1, GFP_ATOMIC); +				+ strlen(pci_name(dev)) + 1, GFP_KERNEL);  	if (!dev_data) {  		err = -ENOMEM;  		goto out; @@ -577,7 +577,7 @@ static int pcistub_probe(struct pci_dev *dev, const struct pci_device_id *id)  		}  		if (!match) { -			pci_dev_id = kmalloc(sizeof(*pci_dev_id), GFP_ATOMIC); +			pci_dev_id = kmalloc(sizeof(*pci_dev_id), GFP_KERNEL);  			if (!pci_dev_id) {  				err = -ENOMEM;  				goto out; @@ -1149,7 +1149,7 @@ static int pcistub_reg_add(int domain, int bus, int slot, int func,  	}  	dev = psdev->dev; -	field = kzalloc(sizeof(*field), GFP_ATOMIC); +	field = kzalloc(sizeof(*field), GFP_KERNEL);  	if (!field) {  		err = -ENOMEM;  		goto out; diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c index 0d6d9264d6a9..c3e201025ef0 100644 --- a/drivers/xen/xenbus/xenbus_dev_frontend.c +++ b/drivers/xen/xenbus/xenbus_dev_frontend.c @@ -403,7 +403,7 @@ static int xenbus_command_reply(struct xenbus_file_priv *u,  {  	struct {  		struct xsd_sockmsg hdr; -		const char body[16]; +		char body[16];  	} msg;  	int rc; @@ -412,6 +412,7 @@ static int xenbus_command_reply(struct xenbus_file_priv *u,  	msg.hdr.len = strlen(reply) + 1;  	if (msg.hdr.len > sizeof(msg.body))  		return -E2BIG; +	memcpy(&msg.body, reply, msg.hdr.len);  	mutex_lock(&u->reply_mutex);  	rc = queue_reply(&u->read_buffers, &msg, sizeof(msg.hdr) + msg.hdr.len); |