Signed-off-by: Thomas Meyer <[email protected]> --- diff -u -p a/arch/x86/platform/mrst/mrst.c b/arch/x86/platform/mrst/mrst.c --- a/arch/x86/platform/mrst/mrst.c +++ b/arch/x86/platform/mrst/mrst.c @@ -356,10 +356,9 @@ static int __init sfi_parse_gpio(struct num = SFI_GET_NUM_ENTRIES(sb, struct sfi_gpio_table_entry); pentry = (struct sfi_gpio_table_entry *)sb->pentry; - gpio_table = kmalloc(num * sizeof(*pentry), GFP_KERNEL); + gpio_table = kmemdup(pentry, num * sizeof(*pentry), GFP_KERNEL); if (!gpio_table) return -1; - memcpy(gpio_table, pentry, num * sizeof(*pentry)); gpio_num_entry = num; pr_debug("GPIO pin info:\n"); @@ -744,13 +743,12 @@ static void __init intel_scu_spi_device_ return; } - new_dev = kzalloc(sizeof(*sdev), GFP_KERNEL); + new_dev = kmemdup(sdev, sizeof(*sdev), GFP_KERNEL); if (!new_dev) { pr_err("failed to alloc mem for delayed spi dev %s\n", sdev->modalias); return; } - memcpy(new_dev, sdev, sizeof(*sdev)); spi_devs[spi_next_dev++] = new_dev; } @@ -765,13 +763,12 @@ static void __init intel_scu_i2c_device_ return; } - new_dev = kzalloc(sizeof(*idev), GFP_KERNEL); + new_dev = kmemdup(idev, sizeof(*idev), GFP_KERNEL); if (!new_dev) { pr_err("failed to alloc mem for delayed i2c dev %s\n", idev->type); return; } - memcpy(new_dev, idev, sizeof(*idev)); i2c_bus[i2c_next_dev] = bus; i2c_devs[i2c_next_dev++] = new_dev;
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

