parport: use kmemdup instead of kmalloc + memcpy
This replaces calls to kmalloc followed by memcpy with a single call to kmemdup. This was found via make coccicheck. Signed-off-by: Silviu-Mihai Popescu <silviupopescu1990@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
5bcdf0ce2b
Коммит
2451a84839
|
@ -246,14 +246,14 @@ struct parport *parport_gsc_probe_port(unsigned long base,
|
|||
printk (KERN_DEBUG "parport (0x%lx): no memory!\n", base);
|
||||
return NULL;
|
||||
}
|
||||
ops = kmalloc (sizeof (struct parport_operations), GFP_KERNEL);
|
||||
ops = kmemdup(&parport_gsc_ops, sizeof(struct parport_operations),
|
||||
GFP_KERNEL);
|
||||
if (!ops) {
|
||||
printk (KERN_DEBUG "parport (0x%lx): no memory for ops!\n",
|
||||
base);
|
||||
kfree (priv);
|
||||
return NULL;
|
||||
}
|
||||
memcpy (ops, &parport_gsc_ops, sizeof (struct parport_operations));
|
||||
priv->ctr = 0xc;
|
||||
priv->ctr_writable = 0xff;
|
||||
priv->dma_buf = 0;
|
||||
|
|
|
@ -284,12 +284,11 @@ static int bpp_probe(struct platform_device *op)
|
|||
size = resource_size(&op->resource[0]);
|
||||
dma = PARPORT_DMA_NONE;
|
||||
|
||||
ops = kmalloc(sizeof(struct parport_operations), GFP_KERNEL);
|
||||
ops = kmemdup(&parport_sunbpp_ops, sizeof(struct parport_operations),
|
||||
GFP_KERNEL);
|
||||
if (!ops)
|
||||
goto out_unmap;
|
||||
|
||||
memcpy (ops, &parport_sunbpp_ops, sizeof(struct parport_operations));
|
||||
|
||||
dprintk(("register_port\n"));
|
||||
if (!(p = parport_register_port((unsigned long)base, irq, dma, ops)))
|
||||
goto out_free_ops;
|
||||
|
|
|
@ -476,10 +476,9 @@ int parport_proc_register(struct parport *port)
|
|||
struct parport_sysctl_table *t;
|
||||
int i;
|
||||
|
||||
t = kmalloc(sizeof(*t), GFP_KERNEL);
|
||||
t = kmemdup(&parport_sysctl_template, sizeof(*t), GFP_KERNEL);
|
||||
if (t == NULL)
|
||||
return -ENOMEM;
|
||||
memcpy(t, &parport_sysctl_template, sizeof(*t));
|
||||
|
||||
t->device_dir[0].extra1 = port;
|
||||
|
||||
|
@ -523,10 +522,9 @@ int parport_device_proc_register(struct pardevice *device)
|
|||
struct parport_device_sysctl_table *t;
|
||||
struct parport * port = device->port;
|
||||
|
||||
t = kmalloc(sizeof(*t), GFP_KERNEL);
|
||||
t = kmemdup(&parport_device_sysctl_template, sizeof(*t), GFP_KERNEL);
|
||||
if (t == NULL)
|
||||
return -ENOMEM;
|
||||
memcpy(t, &parport_device_sysctl_template, sizeof(*t));
|
||||
|
||||
t->dev_dir[0].child = t->parport_dir;
|
||||
t->parport_dir[0].child = t->port_dir;
|
||||
|
|
Загрузка…
Ссылка в новой задаче